NOIP2011模擬9 20 素數密度

2021-07-16 22:20:12 字數 1177 閱讀 2563

time limits: 1000 ms memory limits: 262144 kb

description

給定區間[l,r] (l<=r<=2147483647,r-l<=1000000),請計算區間中素數的個數。

input

兩個數l和r

output

一行,區間中素數的個數。

sample input

2 11

sample output

5hint

一看這一道題,發現l和r好大啊,我立刻感覺這道題沒有希望了,可轉念一想,我不能慌,看到到r-l<=1e+6,立刻想到了o(nlogn)這一類的時間複雜度,發現判定質數是由根號內的質數判斷的,也就是說,篩出l到r的質數可以以排除l到r的合數來搞,我們列舉根號r內的質數p,再篩區l到r能被p整除的數,篩完後就只剩下質數了,時間複雜度(p為質數集合-):o(

∑i=1

,i∈p

r√r−

li)(r−l

)(∑i

=1r−

l1i)

)=o(

(r−l

)log

(r−l

))由於l和r很大,所以你在標記x就可以標記到x-l的位置上

#include

#include

using

namespace

std;

int bz[1000001],l,r,f[65537],len,ans=0;

void init();

int main()

len=r-l;

memset(bz,0,sizeof(bz));

if(l==0)

if(l==1)

for(int i=1;i<=f[0];i++)

else

k=f[i];

for(;;)

}for(int i=0;i<=len;i++)

printf("%d",ans);

}void init()

for(int j=1;j<=f[0];j++)

}}

NOIP2011模擬考試總結

這兩天的考了noip2011的6道題,600分的題大致得了420分左右。a了day1的t1,t2,day2的t1。這次模擬我感覺沒有發揮到自己的飽和水平,犯了非常傻比的錯。day1的第三題讀豎列時,題目說了以零結尾,我還手賤寫了個y 7,這樣如果這一列是滿的話,最後乙個0會被下一列讀進去。把y 7刪...

NOIP2011 模擬 鋪地毯

題目描述 description 為了準備乙個獨特的頒獎典禮,組織者在會場的一片矩形區域 可看做是平面直角座標系的第一象限 鋪上一些矩形地毯。一共有n 張地毯,編號從1 到n。現在將這些地毯按照編號從小到大的順序平行於座標軸先後鋪設,後鋪的地毯覆蓋在前面已經鋪好的地毯之上。地毯鋪設完成後,組織者想知...

NOIP2011模擬11 1 釣魚

我們把釣魚的過程放在座標系裡來考慮。圖中藍色的點為船,初始時它的座標記為 ax,y 河深為y,河寬為x。某個時刻會從左邊界或右邊界遊出來一條魚 左邊的往右邊遊,右邊的往左邊遊 即魚游出來時的橫座標為0或x,這條魚每秒會游d個單位長度,魚的長度為l。初始時刻為0,對於每個時刻x,船可以選擇花費1s向左...