(同步更新于我的blog:dengtesla)
众所周知,min_25曾经使用过一种较为通用的对积性函数求前缀和的亚线性筛法,复杂度为
与老版min_25筛的对比:
首先最大的差异便是复杂度了。老版的min_25筛复杂度为
在大致的思路方面其实两者的差异不是很大,新版min_25筛主要是在原有基础上利用树状数组和一些数论知识进行了一些加速,大体思路还是比较相似的(后半部分的方法对步骤进行了切割,变得更加复杂了)。
就适用范围来说,两种min_25筛所适用的都是满足"在质数处表达式为多项式,在质数的高次幂处可以快速求值"的积性函数。事实上如果对其原理较为熟悉的话是可以略微扩大一些它的适用范围的,但就我个人而言,新版min_25筛较老版更难变通,也可能是还不够熟悉这种筛法的缘故。
比较振奋人心的是新版min_25筛对于所求的
一些也许会有用的前置资料:
- min_25本人的blog: Sum of Multiplicative Function
- 朱震霆的国家集训队论文: 《一些特殊的数论函数求和问题》, 国家集训队2018论文集
- 计算
的meissel-lehmer方法: Computing pi(x): The Meissel, Lehmer, Lagarias, Miller, Odlyzko method
- yyb的blog(不错的老版min_25筛教程): min_25筛
- 我的blog(老版min_25筛前半部分的解读): 一种亚线性筛法的详细解读(min_25筛前置)
一些符号与记号:
(以下基本照搬自min_25的blog)