【每日一题】【素数筛板子题】又是一年毕业季 牛客小白月赛99 D题 C++

牛客小白月赛99 D题

又是一年毕业季

题目背景

牛客小白月赛99

题目描述

在这里插入图片描述

样例 #1

样例输入 #1

3
4
2 4 6 5
5
6 2 5 3 2333333
8
11 4 5 14 19 19 8 10

样例输出 #1

3
7
2

做题思路

首先观察到 即需要保证拍照的时刻 大于等于 2

那么就从2开始往上走,如果有人眨眼间隔为2,那么在 2 这个时刻就会有人眨眼。那么就拍照的时刻继续延长。

下一时刻为3,同理如果有人眨眼间隔为3,那么就拍照的时刻继续延长。

这时候发现下一个眨眼间隔是 5 ,因为 4 是 2 的倍数。

以此类推,发现眨眼间隔一定是素数。

而且这个过程其实就是素数筛选的过程,第一个素数 2 ,然后排除 2 的倍数,再进入下一个素数。

这道题需要做一个处理,因为 n ≤ 2 e 5 n \le 2e5 n2e5,所以我们需要通过欧拉函数寻找2e5个素数的最大值是多少即可。

代码

#include <iostream>
#include <algorithm>
#define int long longusing namespace  std;
const int N = 2e7+10;int n , m ,k , w , q;
int a[N];
bool vis[N];
int primes[N], cnt;
bool st[N];void get_primes(int n)
{for (int i = 2; i <= n; i ++ ){if (!st[i]) primes[cnt ++ ] = i;for (int j = 0; primes[j] <= n / i; j ++ ){st[primes[j] * i] = true;if (i % primes[j] == 0) break;}}
}
void init(){get_primes(3e6);
}
inline int read()
{char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}return x*f;
}
void solve(){n=read();for(int i=1;i<=n;i++) { a[i]=read();if(a[i]<=2999957)vis[a[i]] = true; }for(int i=0;i<cnt;i++){if(!vis[primes[i]]){printf("%lld\n",primes[i]);break;}}for(int i=1;i<=n;i++)if(a[i]<=2999957)vis[a[i]] = false;
}
signed main(){init();int _=1;_=read();while(_--)solve();return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【精选】推荐7款AI论文一键生成论文、开题报告和文献综述网站

在当前的学术研究和写作中&#xff0c;AI技术的应用已经变得越来越普遍。特别是对于论文、开题报告和文献综述的生成&#xff0c;许多平台提供了便捷的一键生成服务。以下是七款推荐的AI论文一键生成工具&#xff0c;包括千笔-aipaperpass。 1. 千笔-aipaperpass 千笔-aipape…

文心快码(Baidu Comate)初体验

文心快码&#xff08;Baidu Comate&#xff09;初体验 1文心快码简介和安装&#xff1a;简要介绍文心快码&#xff08;Baidu Comate&#xff09;、安装方法、使用方法等&#xff1b; Baidu Comate 是由百度自主研发&#xff0c;基于文心大模型&#xff0c;结合百度丰富的编程现…

主机安全-网络攻击监测

目录 概述暴力破解&#xff08;SSH爆破为例&#xff09;原理规则攻击模拟告警 端口扫描原理规则攻击模拟告警 流量劫持原理规则攻击模拟告警 参考 概述 本文介绍主机网络层面上的攻击场景&#xff0c;每种攻击场景举一个例子。监测方面以字节跳动的开源HIDS elkeid举例。 针对…

当前A股平均市盈率

再写一篇【不务正业】的 2023-08-23A股平均市盈率 来自乐咕乐股网 当前A股市盈率是否为低点&#xff1f; 不言而喻 ‌当前A股市场的市盈率确实处于相对低位。‌ 根据东方财富Choice最新数据显示数据&#xff0c;截至2024年8月23日&#xff0c;全A市盈率为13.06倍&#xff0c;…

初识C语言指针(3)

目录 1. 数组名的理解 2. 使⽤指针访问数组 3. ⼀维数组传参的本质 4. 冒泡排序 5. 二级指针 6. 指针数组 7. 指针数组模拟⼆维数组 结语 1. 数组名的理解 对于数组名想必大家并不陌生&#xff0c;数组名就是该数组首元素的地址&#xff0c;设想有一个arr 数组。我们…

解决github访问慢的问题

GitHub是全球开发者广泛使用的代码托管平台&#xff0c;但有时由于网络问题&#xff0c;访问速度可能会受到影响&#xff0c;这对于依赖GitHub进行日常开发工作的程序员来说是一个不小的困扰。为了解决这一问题&#xff0c;我们可以通过修改本地hosts文件来尝试提升访问速度。 …

如何将 Parallels Desktop 许可证密钥移至新的 Mac?

根据 Parallels 最终用户许可协议&#xff08;EULA&#xff09;的规定&#xff0c;您最多可以在一台设备上下载、安装和使用 Parallels Desktop 的一个原始副本。但是面对更换新机的用户&#xff0c;可以通过迁移的方式把 Parallels Desktop 许可证密钥移至新的 Mac&#xff0c…

大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

井盖异动传感器:为城市安全加码

城市的地下管网错综复杂&#xff0c;井盖作为连接地面与地下的重要通道&#xff0c;其安全性至关重要。然而&#xff0c;由于各种原因导致的井盖丢失或损坏事件时有发生&#xff0c;给行人和车辆带来了极大的安全隐患。 一、智能科技&#xff0c;守护脚下安全 旭华智能井盖异…

SpringBoot2:创建项目及启动时相关报错整理

1、创建时报错 Initialization failed for https://start.aliyun.com/ Please check URL, network and proxy settings.Error message: Error parsing JSON response换官网地址初始化即可&#xff1a;https://start.spring.io/ 那么&#xff0c;大家肯定会疑问&#xff0c;官网…

【Java】Spring Boot使用 Email 传邮件 (上手图解)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容&#xff1a;三、问题描述四、解决方案&#xff1a;4.1 认识依赖4.2 发送邮件步骤4.2.1 先获取授权码4.2.1 邮件配置4.2.2 主体内容…

堆《数据结构》

堆《数据结构》 1. 堆排序1.1 建堆向上调整建堆向下调整建堆 1.2 利用堆删除思想来进行排序1.3Top-k问题 2.堆的时间复杂度 1. 堆排序 1.1 建堆 建大堆 建小堆 向上调整建堆 AdjustUp建堆 void AdjustUp(HPDataType* a, int child) {// 初始条件// 中间过程// 结束条件int p…

【数据分析:RFM客户价值度模型】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;我是书生♡&#xff0c;本阶段和大家一起分享和探索大数据技术RFM客户价值度模型&#xff0c;本篇文章主要讲述了&#xff1a;RFM客户价值度模型等等。欢迎大家一起探索讨论&#xff01;&#xff01;&#xff01…

机械学习—零基础学习日志(如何理解概率论7)

这里需要先理解伯努利试验。只有A与A逆&#xff0c;两种结果。 正态分布 再来一道习题~&#xff1a; 解析&#xff1a; 《概率论与数理统计期末不挂科|考研零基础入门4小时完整版&#xff08;王志超&#xff09;》学习笔记 王志超老师 &#xff08;UP主&#xff09;

5大分区管理器 - 最佳硬盘分区软件

分区是一个计算机术语&#xff0c;指的是在硬盘上创建多个区域&#xff0c;以便操作系统和分区管理软件能够高效地分别管理每个区域中的信息。经常使用电脑的人很可能会从拥有多个分区中受益。在硬盘上拥有分区的一个好处是&#xff0c;可以更轻松地将操作系统和程序文件与用户…

普元EOS-低开页面下拉选择控件加载列表数据

1 前言 普元EOS进行低代码开发页面可以高效提高开发效率&#xff0c;并且减少代码的出错机会。 在低代码开发页面的时候&#xff0c;表单页面中可以使用大量的常用控件。 本文将讲解下拉选择组件的使用。 2 下拉选择使用EOS内置字典作为数据源 下拉选择可从字典作为数据源&a…

粘包现象 | wireshark抓包的使用

在TCP协议的通信过程中&#xff0c;由于其面向流的特性&#xff0c;数据在传输过程中可能会发生粘包现象&#xff0c;即多个发送的数据包被接收方一次性接收&#xff0c;导致应用层无法正确解析数据。 1.粘包现象概述 TCP协议为了保证传输效率&#xff0c;可能会将多次send调…

ESP RainMaker OTA 自动签名功能的安全启动

【如果您之前有关注乐鑫的博客和新闻&#xff0c;那么应该对 ESP RainMaker 及其各项功能有所了解。如果不曾关注&#xff0c;建议先查看相关信息&#xff0c;知晓本文背景。】 在物联网系统的建构中&#xff0c;安全性是一项核心要素。乐鑫科技对系统安全给予了极高的重视。ES…

小程序学习day13-API Promise化、全局数据共享(状态管理)、分包

44、API Promise化 &#xff08;1&#xff09;基于回调函数的一部API的缺点&#xff1a;小程序官方提供的异步API都是基于回调函数实现的&#xff0c;容易造成回调地狱的问题&#xff0c;代码可读性、可维护性差 &#xff08;2&#xff09;API Promise化概念&#xff1a; 指…

【HarmonyOS NEXT星河版开发实战】页面跳转

个人主页→VON 收录专栏→鸿蒙综合案例开发​​​​​ 代码及其图片资源会发布于gitee上面&#xff08;已发布&#xff09; gitee地址https://gitee.com/wang-xin-jie234 目录 前言 界面功能介绍 界面构建过程 知识点概述 页面跳转 页面传参 全套源代码 Index页面 Sec…