BZOJ2440: [中山市选2011]完全平方数 二分 容斥原理
题目大意:对于每组数据,求第Ki 个不是完全平方数的正整数倍的数。组数50,K=10^9
首先二分答案,变为求1~n之间的不是完全平方数的正整数倍的数个数。
由容斥原理,答案为含有0个平方因子的数-含有1个平方因子的数+含有两个平方因子的数。。。
观察可知,对于p^2所有的倍数,其对答案的贡献与p的梦比优斯函数值一致。因此直接从1枚举到sqrt(n)即可,p^2在1~n内有n/(p^2)个倍数
原创
2016-12-27 16:30:34 ·
359 阅读 ·
0 评论