有(没)什么用?
求解积性函数 (F) 的前缀和
做法
首先假设 (F(i)=i^k)
设 (P_i) 为从小到大的第 (j) 个质数
设 (g(x,j))
(g(x,j)=sum_{i=1}^{x}[i)为质数或最小质因子(> P_j]F(i))
(g(x,0)) 不包括 (f(1)) 的贡献
求解 (g)
若 (P_j^2 > x),则不存在 (x) 以内的合数的最小质因子大于 (P_j)
那么 (g(x,j)=g(x,j-1))
否则,(P_j^2 le x),考虑从 (g(x,j-1)) 推过来
显然 (g(x,j-1)) 中多了最小质因子为 (P_j) 的那些合数的贡献,设为 (R)
设这些合数为 (tP_j),贡献即 (t^kP_j^k)
要满足这些合数的最小质因子为 (P_j),(t) 要满足最小质因子 (ge P_j)
提出 (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}) 的只有质数)
总结一下就是
求解前缀和
设 (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) 不是一个)
贡献为
首先积性函数的性质有前面的一部分
而这样就没有算到 (F(P_k^e)) 的贡献,加回来即可
答案就是 (S(n,1)+F(1))