LightOJ 1197 Help Hanzo
来源:互联网 发布:局域网网络管理器 编辑:程序博客网 时间:2024/06/04 18:03
思路:大区间素数筛
筛法用的kuangbin的模板
#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>using namespace std;typedef long long ll;const int MAXN=1000010;int prime[MAXN+1];void getPrime(){ memset(prime,0,sizeof(prime)); for(int i=2; i<=MAXN; i++) { if(!prime[i])prime[++prime[0]]=i; for(int j=1; j<=prime[0]&&prime[j]<=MAXN/i; j++) { prime[prime[j]*i]=1; if(i%prime[j]==0)break; } }}bool notprime[1000010];int prime2[1000010];void getPrime2(int L,int R){ memset(notprime,false,sizeof(notprime)); if(L<2)L=2; for(int i=1; i<=prime[0]&&(long long)prime[i]*prime[i]<=R; i++) { int s=L/prime[i]+(L%prime[i]>0); if(s==1)s=2; for(int j=s; (long long)j*prime[i]<=R; j++) if((long long)j*prime[i]>=L) notprime[j*prime[i]-L]=true; } prime2[0]=0; for(int i=0; i<=R-L; i++) if(!notprime[i]) prime2[++prime2[0]]=i+L;}bool isPrime(ll num){ if(num == 1) return false; for(ll i = 2; i*i <= num; ++i) if(num%i == 0) return false; return true;}int main(){ getPrime(); int t,res,time = 0; ll l,r; cin >> t; while(t--) { cin >> l >> r; if(r <= MAXN) { int *e = lower_bound(prime+1,prime+1+prime[0],r); int *s = lower_bound(prime+1,prime+1+prime[0],l); if(*e > r) --e; res = e-s+1; cout << "Case " << ++time << ": " << res <<endl; } else { getPrime2(l,r); cout << "Case " << ++time << ": " << prime2[0] << endl; } } return 0;}
0 0
- LightOJ 1197 Help Hanzo
- LightOJ 1197 Help Hanzo
- 【区间筛法】 LightOJ 1197 Help Hanzo
- E - Help Hanzo(LightOJ 1197)
- LightOJ - 1197 Help Hanzo 素数筛
- Help Hanzo LightOJ
- lightOJ 1197 Help Hanzo 两阶段素数筛选
- LightOJ 1197Help Hanzo (区间素数筛选法)
- lightOJ 1197 Help Hanzo (区间找素数)
- LightOJ 1197 - Help Hanzo (模拟筛素法区间筛素)
- LightOJ 1197 Help Hanzo(区间素数筛)
- LightOJ 1197 Help Hanzo(区间素数筛选)
- LightOJ 1197 Help Hanzo 求区间内素数的个数
- Help Hanzo(区间求素数) LightOJ
- Light OJ 1197 - Help Hanzo
- Light oj 1197 - Help Hanzo
- light oj 1197 Help Hanzo
- Help Hanzo
- 快速定位错误的方法
- javascript常见的封装方式
- 生成自然顺序,和自定义顺序的编号
- 使用dubbo时服务被禁止原因
- iOS sqlite3 的基本使用(增 删 改 查)
- LightOJ 1197 Help Hanzo
- like模糊查询,和大小写,去空
- ajax返回异常处理
- FreeMaker 截取指定长度字符串
- 打断点遇到的异常
- cookie和session
- springMVC模型驱动set,get再加工理解
- linux shell脚本 截取字符串时执行错误:bad substitution
- deeplearning4j之GloVe实现实现