Min_25筛

有(没)什么用?

求解积性函数 F F F 的前缀和

∑ i = 1 n F ( i ) \sum_{i=1}^{n}F(i) i=1nF(i)

做法

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

g ( x , j ) = ∑ i = 1 x [ i g(x,j)=\sum_{i=1}^{x}[i g(x,j)=i=1x[i为质数或最小质因子 > P j ] F ( i ) > P_j]F(i) >Pj]F(i)
g ( x , 0 ) g(x,0) g(x,0) 不包括 f ( 1 ) f(1) f(1) 的贡献

求解 g g g

P j 2 > x P_j^2 > x Pj2>x,则不存在 x x x 以内的合数的最小质因子大于 P j P_j Pj

那么 g ( x , j ) = g ( x , j − 1 ) g(x,j)=g(x,j-1) g(x,j)=g(x,j1)

否则, P j 2 ≤ x P_j^2 \le x Pj2x,考虑从 g ( x , j − 1 ) g(x,j-1) g(x,j1) 推过来

显然 g ( x , j − 1 ) g(x,j-1) g(x,j1) 中多了最小质因子为 P j P_j Pj 的那些合数的贡献,设为 R R R

设这些合数为 t P j tP_j tPj,贡献即 t k P j k t^kP_j^k tkPjk

要满足这些合数的最小质因子为 P j P_j Pj t t t 要满足最小质因子 ≥ P j \ge P_j Pj

提出 P j k P_j^k Pjk ,所以 R = ( g ( x P j , j − 1 ) − R=(g(\frac{x}{P_j},j-1)- R=(g(Pjx,j1)小于 P j P_j Pj 的质数的贡献 ) P j k )P_j^k )Pjk

也就是 R = P j k ( g ( x P j , j − 1 ) − g ( P j − 1 , j − 1 ) ) R=P_j^k(g(\frac{x}{P_j},j-1)-g(P_{j-1}, j-1)) R=Pjk(g(Pjx,j1)g(Pj1,j1))

(因为 P j − 1 P_{j-1} Pj1 以内为质数或最小质因子 > P j − 1 > P_{j-1} >Pj1 的只有质数)

总结一下就是

g ( x , j ) = { g ( x , j − 1 ) , P j 2 > x g ( x , j − 1 ) − P j k ( g ( x P j , j − 1 ) − g ( P j − 1 , j − 1 ) ) , P j 2 ≤ x 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}\\ g(x,j)={g(x,j1),Pj2>xg(x,j1)Pjk(g(Pjx,j1)g(Pj1,j1)),Pj2x

求解前缀和

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

假设 a x a_x ax P a x ≤ x P_{a_x} \le x Paxx 的最大的数

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

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

S ( n , 0 ) S(n,0) S(n,0) 不包括 f ( 1 ) f(1) f(1) 的贡献

分成两个部分计算

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

  2. i i i 为合数:

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

贡献为

∑ k ≥ j ∑ e P k e + 1 ≤ n ( F ( P k e ) S ( n p k e , k + 1 ) + F ( P k e + 1 ) ) \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})) kjePke+1n(F(Pke)S(pken,k+1)+F(Pke+1))

首先积性函数的性质有前面的一部分

∑ k ≥ j ∑ e = 1 P k e + 1 ≤ n F ( P k e ) S ( n p k e , k + 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) kje=1Pke+1nF(Pke)S(pken,k+1)

而这样就没有算到 F ( P k e ) F(P_k^e) F(Pke) 的贡献,加回来即可

答案就是 S ( n , 1 ) + F ( 1 ) S(n,1)+F(1) S(n,1)+F(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值