C++笔试强训day32

news2024/11/20 8:27:38

目录

1.素数回文

2.活动安排

3.合唱团


1.素数回文

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId=290&tqId=39945&ru=/exam/oj

现将其转化为回文数(这里用字符串存储比较方便转化),然后判断是否为素数即可。

stoi函数一定要自己写,库里面的stoi不支持大数据转化,会越界

#include <iostream>
using namespace std;
#define int long long
bool Check(int x)
{
	if (x < 2)
		return false;
	for (int i = 2; i * i <= x; ++i)
		if (x % i == 0)
			return false;
	return true;
}

int my_stoi(string s)
{
	int sum = 0;
	for (int i = s.size() - 1; i >= 0; --i)
		sum = sum * 10 + (s[i] - '0');
	return sum;
}

signed main() {
	string s;
	cin >> s;
	int n = s.size();
	for (int i = n - 2; i >= 0; --i)
		s += s[i];
	int tmp = my_stoi(s);
	if (Check(tmp))
		cout << "prime" << endl;
	else
		cout << "noprime" << endl;
	return 0;
}

2.活动安排

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/16d971e9e42e4f3b9b1e2b8794796a43?tpId=308&tqId=40488&ru=/exam/oj

做一个简单的规划即可:

end存储为目前多久结束活动。

先将活动的开始时间进行排序

然后若 i 的开始时间小于 end,则更新end = min(end,i的结束时间),{取最小值的原因是贪心(要选择尽可能多的活动数量)}

若 i 的开始时间大于或等于 end,直接让活动数 +1。

#include <iostream>
#include <utility>
#include <algorithm>
using namespace std;

typedef pair<int, int> PII;
const int N = 2e5 + 10;
int n;
PII a[N];

int main() {
	cin >> n;
	for (int i = 0; i < n; ++i)
		cin >> a[i].first >> a[i].second;

	sort(a, a + n);
	int ret = 1;
	int end = a[0].second;
	for (int i = 1; i < n; ++i)
	{
		if (a[i].first < end)
		{
			end = min(end, a[i].second);
		}
		else
		{
			ret++;
			end = a[i].second;
		}
	}
	cout << ret << endl;
	return 0;
}

3.合唱团

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/661c49118ca241909add3a11c96408c8?tpId=122&tqId=33652&ru=/exam/oj

一个巨型复杂的dp问题:

若搞清楚了该题的状态表示,还是可以做一下题目的。

因为状态表示是最后一个人必须,所以我们选取返回值时,需要遍历一遍从 k 到 n

很细节的一个地方是他的初始化,因为你不确定有没有负数,若是默认初始化(0),则会导致一个全为负数的数组中返回 0 ,这样是答案错误。

因此我们可以边填表边初始化。

初始化为最小和最大:

#include <iostream>
using namespace std;
#define int long long

const int N = 55, M = 15;
int f[N][M];
int g[N][M];
int a[N];
int n, k, d;

signed main() {
    cin >> n;
    for(int i = 1; i <= n; ++i)
        cin >> a[i];
    cin >> k >> d;

    for(int i = 1; i <= n; ++i)
    {
        f[i][1] = g[i][1] = a[i];
        for(int j = 2; j <= min(i, k); ++j)
        {
            f[i][j] = -0x3f3f3f3f3f3f3f3f;
            g[i][j] = 0x3f3f3f3f3f3f3f3f;
            for(int prev = max(i - d, j - 1); prev <= i - 1; ++prev)
            {
                f[i][j] = max(max(f[prev][j - 1] * a[i], g[prev][j - 1] * a[i]),f[i][j]);
                g[i][j] = min(min(f[prev][j - 1] * a[i], g[prev][j - 1] * a[i]),g[i][j]);               
            }
        }
    }

    int ret = -0x3f3f3f3f3f3f3f3f;
    for(int i = k; i <= n; ++i)
        ret = max(ret, f[i][k]);
    cout << ret << endl;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1691848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无线网卡有几种接口?怎么给电脑选择一款合适的无线网卡?

前言 这篇文章一共有两个问题&#xff1a; 无线网卡有几种接口 怎么给电脑选择一款合适的无线网卡 目测这一期的文章很长很长&#xff0c;但不水。想要给笔记本或台式机升级无线网卡的小伙伴看过来了&#xff01; 最近有小伙伴问&#xff1a;华硕r555笔记本能不能升级无线…

MySql的环境配置与安装

MySQL 数据库 MySQL是一款关系型数据库 关系型数据库 ​ 基本单位是表,一个表中存储一类信息,表与表之间存在关联关系 sql语言(Structured Query Language) 数据库操作语言也属于一种编程语言,专门用作数据库操作分为三种语言 如下 sql安装使用流程 官网 href https://…

【设计模式】JAVA Design Patterns——Converter(转换器模式)

&#x1f50d;目的 转换器模式的目的是提供相应类型之间双向转换的通用方法&#xff0c;允许进行干净的实现&#xff0c;而类型之间无需相互了解。此外&#xff0c;Converter模式引入了双向集合映射&#xff0c;从而将样板代码减少到最少 &#x1f50d;解释 真实世界例子 在真实…

大众汽车集团CARIAD中国领导团队莅临知迪科技考察交流

5月23日&#xff0c;大众汽车集团旗下软件子公司CARIAD中国领导团队莅临知迪科技参观考察&#xff0c;知迪科技COO尹晓航先生率公司技术代表热情接待。 CARIAD中国一行来宾首先参观了知迪科技数采项目改制车。知迪科技软硬件工程师为考察团领导专家们讲解了知迪智驾数采系统&am…

【vs2022】安装copilot和reshaper

直接安装新版vs 17.10 自带集成的copilot支持安装resharper 可以跳过市场里的reshper安装好后依然可以直接使用vs。 resharper 2024.1.2 市场里还是i老版本&#xff1a; copilot 不兼容,这个是之前市场安装的版本 官方建议用vs intall 安装 安裝 GitHub Copilot GitHub.Co…

MySQL之Schema与数据类型优化(五)

Schema与数据类型优化 特殊类型数据 某些类型的数据并不直接与内置类型一致。低于秒级精度的时间戳就是一个例子。另外一个例子是一个IPv4地址。人们经常使用VARCHAR(15)列存储IP地址。然而&#xff0c;它们实际上是32位无符号整数。不是字符串。用小数点将地址分成四段的表示…

ThreadLocal为什么会导致内存泄漏?

问题引出&#xff1a; ThreadLocal是为了解决什么问题而产生的&#xff1f; ThreadLocal发生内存泄漏的根本原因是什么&#xff1f; 如何避免内存泄漏的发生&#xff1f;定义 为了解决多个线程同时操作程序中的同一个变量而导致的数据不一致性的问题。   假设现在有两个线程A…

ASP+ACCESS教师档案管理系统

3.1 系统功能模块图 3.2 E&#xff0d;R模型图 3.3 系统使用流程图 3.4 各个模块功能简介&#xff1a; 本系统分为五个功能模块&#xff0c;它们分别是教师信息录入模块、教师信息修改模块、教师信息查询模块、教师信息打印模块。 下面分别介绍各个模块的功能用途&#x…

社交媒体数据恢复:soma messenger

步骤1&#xff1a;检查备份文件 首先&#xff0c;我们需要确认您是否已开启Soma Messenger的自动备份功能。若已开启&#xff0c;您可以在备份文件中找到丢失的数据。 步骤2&#xff1a;清除缓存并重启应用 有时候&#xff0c;清除Soma Messenger的缓存文件可以帮助恢复丢失的…

el-table 划入划出方法

<template><div><el-table :data"tableData" style"width: 100%" cell-mouse-enter"handleMouseEnter" cell-mouse-leave"handleMouseLeave"><el-table-column prop"ddd" label"日期2" widt…

Unity Physics入门

概述 在unity中物理属性是非常重要的&#xff0c;它可以模拟真实物理的效果在unity中&#xff0c;其中的组件是非常多的&#xff0c;让我们来学习一下这部分的内容吧。 Unity组件入门篇总目录----------点击导航 Character Controller(角色控制) 说明&#xff1a;组件是Unity提…

数据结构------二叉树经典习题2

博主主页: 码农派大星. 关注博主带你了解更多数据结构知识 1.非递归的前序遍历 1.用栈来实现 2,前序遍历是根左右, 先是根节点入栈,,然后不为空时向左遍历,当为空时就返回向右遍历,右为空时直接出栈,依次循环即可. public void preOrderNot(TreeNode root){Stack<TreeNo…

点云处理中阶 Octree模块

一、什么是Octree 八叉树&#xff08;Octree&#xff09;是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素&#xff0c;每个节点有八个子节点&#xff0c;这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中…

Java进阶学习笔记6——继承的介绍

继承的学习目标&#xff1a; 认识继承&#xff1b; 继承的好处、应用场景 什么是继承&#xff1f; Java中提供了一个关键字extends&#xff0c;用这个关键字&#xff0c;可以让一个类和另外一个类建立父子关系。 继承的特点: 子类能继承父类的非私有成员&#xff08;成员变…

【JavaEE】加法计算器与用户登录实战演练

目录 综合练习加法计算器1. 准备工作2. 约定前后端交互接口3. 服务器代码 用户登录1. 准备工作2. 约定前后端交互接口3. 服务器代码4. 调整前端页面代码 综合练习 理解前后端交互过程接⼝传参, 数据返回, 以及⻚⾯展⽰ 加法计算器 需求: 输⼊两个整数, 点击"点击相加&q…

windows 7 10 11快捷键到启动页面

1.快速打开用户启动文件夹 shell:startup 方式2&#xff1a;快速打开系统启动文件夹 shell:Common Startup shell:Common Startup

dubbo复习:(7)使用sentinel对dubbo服务进行限流

一、下载sentinel-dashboard 并启动 java -Dserver.port8080 -Dcsp.sentinel.dashboard.serverlocalhost:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard.jar二、在spring boot应用中增加sentinel相关依赖 <dependency><groupId>com.alibaba.csp…

Hadoop数据压缩和压缩案例实操

文章目录 数据压缩概述MR支持的压缩编码格式和各自优缺点压缩实操案例1.Map输出端采用压缩2.Reduce输出端采用压缩 数据压缩概述 Hadoop数据压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制在Hadoop中尤其重要&#xff0c;因为它可以有效减少底层存储系统&…

Docker 模块在宝塔中怎么使用

么是 Docker&#xff1f; Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分离&#xff0c;以便您可以快速交付软件。使用 Docker&#xff0c;您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方…

【产品经理】输出

引言&#xff1a;        在最近频繁的产品管理职位面试中&#xff0c;我深刻体会到了作为产品经理需要的不仅仅是对市场和技术的敏锐洞察&#xff0c;更多的是在复杂多变的环境中&#xff0c;如何运用沟通、领导力和决策能力来引导产品从概念走向市场。这一系列博客将分享…