关于筛法

以前总以为超过500万数据线性筛法要比nlogn筛法跑的快,用5亿以内数据测试了下,加了优化的nlogn筛法总是要比线性筛法快的,对于用位压省内存来说,nlogn的筛法优势尤其明显,以后统一用如下筛法了。(这里仅仅是把质数存到prim中,isnp并不能用来判定)


int prim[MAXN/10], npr;
bool isnp[MAXN+1];

void init(){
    npr = 0;
	prim[npr++] = 2;
	isnp[2] = false;
    for(int i = 3; i <= MAXN; i += 2)
		if(!isnp[i]){
			prim[npr++] = i;
			if((LL)i*i > MAXN) continue;
			for(int j = i*i; j <= MAXN; j += (i << 1))
				isnp[j] = true;
		}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值