洲阁筛
前置知识
定义
洲阁筛是一种能在亚线性时间复杂度内求出大多数积性函数前缀和的筛法。
下面将以求解
约定
表示质数集, 表示第 个质数。 表示 内的质数个数。
要求
当
思想
- 对于任意
内的整数,其至多只有一个 的质因子。 - 利用
只有 级别个取值的性质来降低时间复杂度。
过程
将
对于前半部分,枚举最大因子,根据积性函数的性质可以转换:
前后部分可以分别计算。
Part 1
计算
。
考虑枚举
记
这样 Part 1 的计算就变成了
边界
注意到
代入递推式可得:当
所以一旦发现
预处理质数的
Part 2
计算
。
记
Part 2 即为求
边界
与
类似的,推出
所以一旦发现
时间复杂度被优化至
求和
算出了 Part 1 和 Part 2 的答案,将其相加即为
参考
积性函数线性筛/杜教筛/洲阁筛学习笔记 | Bill Yang's Blog
最后更新: 2024年5月10日
创建日期: 2021年3月27日
创建日期: 2021年3月27日