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向左...