作用
前提:一个积性函数\(F(i)\),要求\(F(P^k),P\in prime\)可以快速计算
实现\(O(\frac{n^{\frac{3}{4}}}{logn})\):\(\sum\limits_{i=1}^nF(i)\)
做法
为了简便运算,定义\(min_i(P)\)为\(i\)的最小质因子
- 定义\(g(n,j)=\sum\limits_{i=1}^n[i\in prime || min_i(P)>P_j]F(i)\)
理解:埃氏筛法筛了\(j\)个质数后剩下的数的\(F(i)\)值之和
\[\begin{aligned}\\ g(n,j)= \begin{cases} g(n,j-1)&P_j^2>n\\ g(n,j-1)-F(P_j)[g(\frac{n}{P_j},j-1)-\sum\limits_{i=1}^{j-1}F(P_i)]&P_j^2≤n\\ \end{cases} \end{aligned}\]
理解\((P_j^2≤n)\):筛完前j-1个质数,筛掉的数除\(P_j\)后一定大于等于\(P_j\)
- 定义\(s(n,j)=\sum\limits_{i=1}^n[min_i(P)≥P_j]F_i\)
\[s(n,j)=g(n,|P|)-\sum\limits_{i=1}^{j-1}F(P_i)+\sum\limits_{k=j}^{P_k^2≤n}\sum\limits_{e=1}^{P_k^{e+1}≤n}s(\frac{n}{P_k^e},k+1)F(P_k^e)+F(P_k^{e+1})\]
理解:满足的质数\(+[min_i(P)≥P_j]\)的合数\((\)枚举最小质因子的次数\()\)
总结
\(\sum\limits_{i=1}^nF(i)=s(n,1)+F(1)\)
例题
咕咕咕