筛法对比
杜教筛
-
时间复杂度 \(O(n^\frac{2}{3})\)
-
要求:构造一个 \(g\) 满足 \((f*g)\) 易于计算前缀和,\(g\) 易于计算前缀和。注意并没有要求 \(g\) 和 \(f*g\) 是一个积性函数。
杜教筛可以多次运用,例如筛 \(f=\phi*\phi*\mu\),可以筛 \(f*I=\phi*\phi\),这样只需要解决 \(g=\phi*\phi\) 的前缀和即可。以此类推,复杂度还是 \(n^{\frac{2}{3}}\)。
Min25 筛
- 时间复杂度:玄学,但是可以 \(2s\) 跑 \(10^{10}\)
- 要求:构造一个 \(g\),满足 \(g\) 和 \(f\) 在质数处的取值一样,且存在若干完全积性函数 \(g_1,g_2,\cdots,g_k\) 满足 \(g=a_1g_1+a_2g_2+\cdots+a_kg_k\)。
Powerful Numbers
- 时间复杂度:\(O(\sqrt{n})\)
- 要求:构造一个积性函数 \(g\),满足 \(g\) 和 \(f\) 在质数处的取值一样,且 \(g\) 易于计算前缀和。
狄利克雷卷积前缀和
-
时间复杂度: \(O(n^\frac{2}{3})\)
-
要求:对于给定 \(g,f\),要能很快算出 \(h,g\) 在 \(\lfloor\frac{n}{i}\rfloor\) 处的前缀和。