P3383 【模板】线性筛素数

题目描述

如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)

输入输出格式

输入格式:

第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。

接下来M行每行包含一个不小于1且不大于N的整数,即询问该数是否为质数。

输出格式:

输出包含M行,每行为Yes或No,即依次为每一个询问的结果。

输入输出样例

输入样例#1: 复制

100 5
2
3
4
91
97
输出样例#1: 复制

Yes
Yes
No
No
Yes

说明

时空限制:500ms 128M

数据规模:

对于30%的数据:N<=10000,M<=10000

对于100%的数据:N<=10000000,M<=100000

样例说明:

N=100,说明接下来的询问数均不大于100且不小于1。

所以2、3、97为质数,4、91非质数。

故依次输出Yes、Yes、No、No、Yes。

题意很好理解,贴一下板子而已。

代码:

 //线性筛法筛素数(欧拉筛法)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<bitset>
#include<cassert>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<deque>
#include<iomanip>
#include<list>
#include<map>
#include<queue>
#include<set>
#include<stack>
#include<vector>
using namespace std;
typedef long long ll; const double PI=acos(-1.0);
const double eps=1e-;
const ll mod=1e9+;
const int inf=0x3f3f3f3f;
const int maxn=2e7+;
const int maxm=+;
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); bitset<maxn> is_prime;
int p[maxn],h=; void Prime(int n)
{
is_prime[]=;
is_prime[]=;
for(int i=;i<=n;++i){
if(is_prime[i]==)
p[++h]=i;
for(int j=;j<=h&&p[j]*i<=n;++j){
is_prime[i*p[j]]=;
if(i%p[j]==)
break;
}
}
} int main()
{
int n,m;
scanf("%d%d",&n,&m);
Prime(n);
for(int i=;i<=m;i++){
int x;
scanf("%d",&x);
if(is_prime[x])
printf("No\n");
else
printf("Yes\n");
}
return ;
}

溜了。。。

最新文章

  1. phpmyadmin Wrong permissions on configuration file, should not be world writable!
  2. 过去几个月出炉的30款最喜欢的 jQuery 插件
  3. FFT初步学习小结
  4. 网络子系统42_ip协议处理函数_数据帧的接收
  5. 18个SaaS及其功能评价
  6. java通过JNI接口调用C语言-初级
  7. OPENSSL库的使用-DES篇
  8. 命令行配置源和安装本地rpm包
  9. 严格模式下的javascript
  10. [js高手之路]设计模式系列课程-单例模式实现模态框
  11. 使用netstat检测及监测网络连接
  12. vivado place30-378
  13. C# 实现Jwtbearer Authentication
  14. zookeeper 入门(二)
  15. samba 服务器搭建
  16. 【转】java文件操作大全
  17. Java第二天——标识符命名规则、Java的知识、快捷键的使用、Scanner获取值的常用方法
  18. Linux下IPC机制
  19. 1-3 superset数据模型
  20. HASH表的实现(拉链法)

热门文章

  1. Ubuntu下Eclipse中运行Hadoop程序的参数问题
  2. 【题解】ZJOI2008骑士
  3. Java代码管理工具SVN系列
  4. 【BZOJ 2957】楼房重建&amp;&amp;Codechef COT5 Count on a Treap&amp;&amp;【NOIP模拟赛】Weed 线段树的分治维护
  5. Mockito中@Mock与@InjectMock
  6. 小K的农场
  7. Eclipse开发环境配置,打磨Eclipse,安装插件(适用3.4,3.5,3.6,3.7)
  8. 说明exit()函数作用的程序
  9. (转)用python实现抓取网页、模拟登陆
  10. 修改nginx对http请求数据大小限制