分段法

求{1,2, N} 的素数个数

给定 N (1<=N<=10^8 ),问[1, N]之间有多少个素数

当询问数比较小时可以用 分段法做

 

本地处理出[1,10000], [10001, 20000], [xxx, 10^8] //每个区间10000长(即算出n=1, 10001, 20001,···的答案)

 

每个询问都落在某一区间上,暴力算一下该区间的答案只需10000次, 复杂度 = 分段区间长度* 询问数

 

分段还可应用于数位dp和一些找规律的题目上。

 

分段例题:http://cstest.scu.edu.cn/soj/problem.action?id=4312 ac传送门:http://blog.csdn.net/acmmmm/article/details/17387531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值