求解积性函数 \(F\) 的前缀和函数
\[\sum_{i=1}^{n}F(i)\]spa
首先假设 \(F(i)=i^k\)
设 \(P_i\) 为从小到大的第 \(j\) 个质数
设 \(g(x,j)\)class
\(g(x,j)=\sum_{i=1}^{x}[i\)为质数或最小质因子\(> P_j]F(i)\)
\(g(x,0)\) 不包括 \(f(1)\) 的贡献总结
若 \(P_j^2 > x\),则不存在 \(x\) 之内的合数的最小质因子大于 \(P_j\)di
那么 \(g(x,j)=g(x,j-1)\)display
不然,\(P_j^2 \le x\),考虑从 \(g(x,j-1)\) 推过来cas
显然 \(g(x,j-1)\) 中多了最小质因子为 \(P_j\) 的那些合数的贡献,设为 \(R\)math
设这些合数为 \(tP_j\),贡献即 \(t^kP_j^k\)枚举
要知足这些合数的最小质因子为 \(P_j\),\(t\) 要知足最小质因子 \(\ge P_j\)play
提出 \(P_j^k\) ,因此 \(R=(g(\frac{x}{P_j},j-1)-\)小于 \(P_j\) 的质数的贡献\()P_j^k\)
也就是 \(R=P_j^k(g(\frac{x}{P_j},j-1)-g(P_{j-1}, j-1))\)
(由于 \(P_{j-1}\) 之内为质数或最小质因子 \(> P_{j-1}\) 的只有质数)
总结一下就是
\[ g(x, j) = \begin{cases} g(x,j-1), P_j^2 > x\\ g(x,j-1)-P_j^k(g(\frac{x}{P_j},j-1)-g(P_{j-1}, j-1)), P_j^2 \le x\\ \end{cases}\\ \]
设 \(h(x)=\sum_{i=2}^{x}[i\) 为质数 \(]F(i)\)
假设 \(a_x\) 为 \(P_{a_x} \le x\) 的最大的数
那么 \(h(x) = g(x, a_{\sqrt x})\)
再设 \(S(n,j)=\sum_{i=1}^{n}[i\)的最小质因子\(\ge P_j]F(i)\)
\(S(n,0)\) 不包括 \(f(1)\) 的贡献
分红两个部分计算
\(i\) 为质数,贡献即为 \(h(n)-h(P_{j-1})\)
\(i\) 为合数:
枚举最小质因子 \(P_k\) 及其的指数 \(e\) (这里的 \(k\) 和 \(F(i)=i^k\) 不是一个)
贡献为
\[\sum_{k\ge j}\sum_{e}^{P_k^{e+1} \le n}(F(P_k^e)S(\frac{n}{p_k^e},k+1)+F(P_k^{e+1}))\]
首先积性函数的性质有前面的一部分
\[\sum_{k\ge j}\sum_{e=1}^{P_k^{e+1} \le n}F(P_k^e)S(\frac{n}{p_k^e},k+1)\]
而这样就没有算到 \(F(P_k^e)\) 的贡献,加回来便可
答案就是 \(S(n,1)+F(1)\)