HDU 3792Twin Prime Conjecture
来源:互联网 发布:视易网络布线图 编辑:程序博客网 时间:2024/05/12 01:36
如有错误,欢迎大神指出!!!
题解:首先打表找出素数,并且找到相邻的两个素数相差为2。接着用树状数组更新数据。
ac code:
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cstdlib>#include <cmath>#include <vector>#include <list>#include <deque>#include <queue>#include <iterator>#include <stack>#include <map>#include <set>#include <algorithm>#include <cctype>using namespace std;#define si1(a) scanf("%d",&a)#define si2(a,b) scanf("%d%d",&a,&b)#define sd1(a) scanf("%lf",&a)#define sd2(a,b) scanf("%lf%lf",&a,&b)#define ss1(s) scanf("%s",s)#define pi1(a) printf("%d\n",a)#define pi2(a,b) printf("%d %d\n",a,b)#define mset(a,b) memset(a,b,sizeof(a))#define forb(i,a,b) for(int i=a;i<b;i++)#define ford(i,a,b) for(int i=a;i<=b;i++)typedef long long LL;const int N=1100001;const int M=6666666;const int INF=0x3f3f3f3f;const double PI=acos(-1.0);const double eps=1e-7;#define maxn 100006#define lowbit(x) x&(-x)int prime[maxn]={0},vis[maxn],num=0,b[maxn],n;int sum(int x){ int ans=0; while(x>0) { ans+=b[x]; x-=lowbit(x); } return ans;}void update(int x){ while(x<=maxn) { b[x]++; x+=lowbit(x); }}int main(){ vis[0]=1,vis[1]=1; for(int i=2;i<maxn;i++) { if(!vis[i])prime[num++]=i; for(int j=0;j<num&&i*prime[j]<maxn;j++) { vis[i*prime[j]]=1; if(!(i%prime[j]))break; } }//先打表 for(int i=1;i<maxn;i++) { if(prime[i]-prime[i-1]==2) { update(prime[i]);//更新树状数组 } } //for(int i=0;i<=20;i++) //printf("%d\n",b[i]); while(~si1(n)&&n>=0) { printf("%d\n",sum(n));//查找前面符合条件的值 } return 0;}
0 0
- hdu 3792 Twin Prime Conjecture
- hdu 3792 Twin Prime Conjecture
- HDU 3792Twin Prime Conjecture
- 素数 hdu 3792 Twin Prime Conjecture
- HDU 3792——Twin Prime Conjecture(数论)
- hdu 3792 Twin Prime Conjecture 浙大复试上机题 水题
- 杭电 3792 Twin Prime Conjecture
- Twin Prime Conjecture + 数论
- hdoj3792 Twin Prime Conjecture
- hdu 3792 Twin Prime Conjecture n之内的孪生素数个数
- hdu 3792 Twin Prime Conjecture n之内的孪生素数个数
- HDU 3792 Twin Prime Conjecture(素数筛法 + 树状数组)
- HDOJ 题目 3792 Twin Prime Conjecture(数学)
- zju2011保研:Twin Prime Conjecture
- HDU3792---Twin Prime Conjecture(树状数组)
- hdu3792(Twin Prime Conjecture) and hdu1541(Stars)树状数组
- hdu3792 Twin Prime Conjecture(树状数组+线性筛)
- Twin Prime Conjecture(浙大计算机研究生保研复试上机考试-2011年)
- 下载软件binary与source版本的区别
- 我和滴滴打车司机的那些事
- oc学习之Foundation框架--NSDate类
- Object和Condition对应的操作线程方法
- [poj 1949]Chores 题解 [dp]
- HDU 3792Twin Prime Conjecture
- iOS "dyld`dyld_fatal_error: -> 0x12000d088 <+0>: brk #0x3"错误
- HTML基础学习笔记(一)
- Python练习册 第 0006 题:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词。
- [383]Ransom Note
- Java NIO学习(二)
- 【基础试题】验证哥德巴赫猜想 Time Limit:1000MS Memory Limit:65536K Total Submit:566 Accepted:267 Description
- HDOJ 3635 Dragon Balls(并查集)
- 关于android传感器的那点事儿