最近做了一道题目,CF 147div2的C题,纯水题目,自己程序跑了470ms,别人都跑了67ms,为什么呢。开始以为自己没有二分,但原因竟然在于求质素。
比如求2--n的所有质数,自己就直接枚举然后判断,但是,跑的很慢,最后看到别人的一种方法,觉得不错,所以自己没有用二分也跑了47ms
估计这个方法比较二,大牛勿喷。
for(int i=2;i<=b;i++)p[i]=1;
for(int i=2;i<=b;i++)if(p[i])for(int j=2*i;j<=b;j+=i)p[j]=0;
for(int i=2;i<=b;i++)p[i]+=p[i-1];