码迷,mamicode.com
首页 > 其他好文 > 详细

Min_25筛

时间:2018-08-01 20:47:41      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:span   class   前缀   大于   就是   math   一个   display   因子   

有(没)什么用?

求解积性函数 \(F\) 的前缀和

\[\sum_{i=1}^{n}F(i)\]

做法

首先假设 \(F(i)=i^k\)
\(P_i\) 为从小到大的第 \(j\) 个质数
\(g(x,j)\)

\(g(x,j)=\sum_{i=1}^{x}[i\)为质数或最小质因子$ > P_j]F(i)$

求解 \(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} $ 的只有质数)

总结一下就是

\[ g(x, j) = \left\{ \begin{array}\ 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{array}\ \right. \]

求解前缀和

\(h(x)=\sum_{i=2}^{x}[i\) 为质数 \(]F(i)\)

假设 \(a_x\)\(P_{a_x}^2 \le x\) 的最大的数

那么 \(h(x) = g(x, a_{\sqrt x})\)

再设 \(S(n,j)=\sum_{i=1}^{n}[i\)的最小质因子$ \ge P_j]F(i)$

分成两个部分计算

  1. \(i\) 为质数,贡献即为 \(h(n)-h(P_{j-1})\)

  2. \(i\) 为合数:

枚举最小质因子 \(P_k\) 及其的指数 \(e\) (这里的 \(k\)\(F(i)=i^k\) 不是一个)

贡献为

\[\sum_{k\ge j}\sum_{e}^{P_k^{e+1}}(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)\) 的贡献,加回来即可

Min_25筛

标签:span   class   前缀   大于   就是   math   一个   display   因子   

原文地址:https://www.cnblogs.com/cjoieryl/p/9403579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!