这道题的时空卡的很巧啊。很符合他身为黄题的身份。如果用题解区大佬的黑科技算法,难度就直线飙升了。(我也不知道到底有多难。。) 然而这道题可以直接用欧拉筛板子秒掉。。
只是需要把时空掌握好即可。
通过数学相关定理得知,当N很大的时候,N以内的素数个数大约近似为N/ln(N)。 在此题中N为1e8,计算得出ln(N)大约为5.5*10的6次方。
则N=1e8,M=6e6。 pri[M],ispri[N],时间是一秒出头,空间是120MB左右,即可愉快的AC本题啦。