M - Help Hanzo (大数区间素数筛)
题目
思路:先对1e5之内的素数筛好,用这些素数筛去大区间内的合数。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define m(a,b) memset(a,b,sizeof a)
#define en '\n'
using namespace std;
typedef long long ll;
const int M=1e6+5,N=(1<<16);
int prime[N+5],is[N+5],tot;
void getprime()
{is[1]=1;//mmpaaaaaaaaaaaaaaaafor(int i=2;i<=N;++i){if(!is[i]) prime[++tot]=i;for(int j=1;j<=tot&&(ll)i*prime[j]<=N;++j){is[i*prime[j]]=1;if(i%prime[j]==0) break;}}
}
int issp[M];
int main()
{getprime();int T,cas=0;scanf("%d",&T);while(T--){m(issp,0);int a,b;scanf("%d%d",&a,&b);if(a<=N&&b<=N){int ans=0;for(int i=a;i<=b;++i)if(!is[i]) ++ans;printf("Case %d: %d\n",++cas,ans);continue;}int ans=0;if(a<=N){for(int i=a;i<=N;++i)if(!is[i]) ++ans;a=N+1;}for(int i=1;i<=tot;++i){ll l=a/prime[i]*prime[i];//左端点l.if(l<a) l+=prime[i];if(l==prime[i]) l+=prime[i];for(ll j=l;j<=b;j+=prime[i]) issp[j-a]=1;}for(int j=a;j<=b;++j)if(!issp[j-a]) ++ans;printf("Case %d: %d\n",++cas,ans);}
}
M - Help Hanzo (大数区间素数筛)相关推荐
- Help Hanzo(区间素数筛)
题目: Amakusa, the evil spiritual leader has captured the beautiful princess Nakururu. The reason behi ...
- HDU 6069 数论 区间素数筛 + 赛后反思
题目链接 设 x = p 1 a 1 p 2 a 2 . . . . p n a n x = p_1^{a_1}p_2^{a_2}....p_n^{a_n} x=p1a1p2a2....pna ...
- LightOJ1197 Help Hanzo —— 大区间素数筛选
题目链接:https://vjudge.net/problem/LightOJ-1197 1197 - Help Hanzo PDF (English) Statistics Forum Ti ...
- HDOJ 6069 素数筛
链接: http://acm.hdu.edu.cn/showproblem.php?pid=6069 题意: 就是题目中的公式 题解: 这个题公式很好推 d(nk) = (kc1 + 1)(kc2 + ...
- Help Hanzo(素数筛)
题意:本题就是求l~u之间有多少个素数: 分析:因为题数很大,所以不能用正常的素数筛法,只能先筛一部分,在用这些素数再筛出l~u之间的素数.本题和另一道题目很相似(传送门): 另一道题题目链接:htt ...
- M - Help Hanzo(模拟素数筛思想+优化)
题目意思就是求[a,b]的素数个数.这道题我一看枚举不就完了吗? 但是看到那个2^31次方就知道了,如果枚举肯定TLE了: 所以百度了一下说模拟素数筛.我觉得我自己有必要回忆一下素数筛原理. #inc ...
- 面试官本拿求素数搞我,但被我优雅的“回击“了(素数筛)
原创公众号(希望能支持一下):bigsai 转载请联系bigsai 文章收录在github 求star 前言 现在的面试官,是无数开发者的梦魇,能够吊打面试官的属实不多,因为大部分面试官真的有那么那几 ...
- nssl1210-质数【素数筛】
正题 题目大意 求l∼rl\sim rl∼r这个区间素数或两个素数的乘积的数个数 解题思路 在欧式筛的时候判断j是不是素数,是就标记就行了. code #pragma GCC optimize(2) ...
- 筛表合集(素数筛 欧拉函数筛 莫比乌斯函数筛)
[目录] 一.素数筛 1.素数判断 2.素数普通筛 3.素数线性筛 4.素数区间筛 二.欧拉函数筛 三.莫比乌斯函数筛 [素数筛] 1.直接判定质数 bool judgePrime( int num ...
最新文章
- SCCM 2012 SP1升级
- LeetCode-剑指 Offer 18. 删除链表的节点
- 微信小程序 获取用户信息并保存登录状态
- 开发者的利器:Docker 理解与使用
- Java中List的contains方法,你用对了吗?
- django-聚合函数
- 将excel里面的数据直接生成sql语句
- php ci框架结构,CI框架目录结构分析
- 分子模拟的理论与实践_基于分子模拟的数据驱动发现流体力学宏观方程
- 移动端压缩并ajax上传图片解决方案
- python防反编译_linux python如何反编译成源码
- 和 对比_Yeezy350V2新灰橙真假对比
- Oracle安装步骤(自用)
- 风力摆控制系统2015年全国大学生电子设计竞赛B题
- 【导航算法】无人机路径跟踪L1导航算法
- 英语论文应该怎么查重?
- 网络信息安全之零信任
- android打开系统文件怎么打开方式,Android调用系统应用打开任意文件
- 从零开发短视频电商 阿里云架构图
- python搭建简易的https服务器