洲阁筛
前置知识
定义
洲阁筛是一种能在亚线性时间复杂度内求出大多数积性函数前缀和的筛法。
下面将以求解
约定
表示质数集, 表示第 个质数。 表示 内的质数个数。
要求
当
思想
- 对于任意
内的整数,其至多只有一个 的质因子。 - 利用
只有 级别个取值的性质来降低时间复杂度。
过程
将
对于前半部分,枚举最大因子,根据积性函数的性质可以转换:
前后部分可以分别计算。
Part 1
计算
。
考虑枚举
记
这样 Part 1 的计算就变成了
边界
注意到
代入递推式可得:当
所以一旦发现
预处理质数的
Part 2
计算
。
记
Part 2 即为求
边界
与
类似的,推出
所以一旦发现
时间复杂度被优化至
求和
算出了 Part 1 和 Part 2 的答案,将其相加即为
参考
积性函数线性筛/杜教筛/洲阁筛学习笔记 | Bill Yang's Blog
本页面最近更新:2023/5/28 11:42:14,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:Early0v0, billchenchina, CCXXXI, Enter-tainer, Great-designer, iamtwz, Nanarikom, ouuan, shuzhouliu, Tiphereth-A, Xeonacid
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用