「总结」筛法2

主要是杜教筛。

1.DZY Loves Math IV http://hzoj.com/contest/228/problem/3
直接推,就没什么好说的。

\[\begin{aligned} ans&=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\varphi(ij)\\ &=\sum\limits_{i=1}^{n}S(i,m)\\ S(n,m)&=\sum\limits_{i=1}^{m}\varphi(ni)\\ \\ \\ n&=\_*p^c\\ g&=\prod p\\ gr&=n\\ \\ \\ S(n,m)&=r\sum\limits_{i=1}^{m}\varphi(gi)\\ &=r\sum\limits_{i=1}^{m}gcd(i,g)\varphi(\frac{ig}{gcd(i,g)})\\ \frac{g}{gcd(i,g)}&\perp gcd(i,g),\frac{g}{gcd(i,g)}\perp i\\ &=r\sum\limits_{i=1}^{m}\varphi(i)\varphi(\frac{g}{gcd(i,g)})gcd(i,g)\\ \\ \\ \varphi(n)&=\sum\limits_{i=1}^{n}[gcd(i,n)=1]\\ &=\sum\limits_{i=1}^{n}\sum\limits_{d|gcd(i,n)}\mu(d)\\ &=\sum\limits_{d|n}\mu(d)\frac{n}{d}\\ \varphi&=\mu*id\\ id&=\varphi*I\\ n&=\sum\limits_{d|n}\varphi(d)\\ \\ \\ &=r\sum\limits_{i=1}^{m}\varphi(i)\varphi(\frac{g}{gcd(i,g)})\sum\limits_{d|gcd(i,g)}\varphi(d)\\ &=r\sum\limits_{i=1}^{m}\varphi(i)\sum\limits_{d|gcd(i,g)}\varphi(\frac{g}{d})\\ &=r\sum\limits_{d|g}\varphi(\frac{g}{d})\sum\limits_{i=1}^{\frac{m}{d}}\varphi(id)\\ &=r\sum\limits_{d|g}\varphi(\frac{g}{d})S(d,\frac{m}{d})\\ \end{aligned}\]

这样就得到递归形式了。
其实并没有莫比乌斯反演。
中间这一步是欧拉反演。
杜教筛的精髓就是递归形式,而并不在于其是否是积性函数。

2.Neko and function http://hzoj.com/contest/236/problem/4
发现难点在于\(1\)的处理,考虑容斥。

\[ans=\sum\limits_{i=1}^{n}f(i,K) \]

\(F(n,K,m)\)为恰好有\(m\)\(1\)的方案。
\(G(n,K,m)\)为至少有\(m\)\(1\)的方案。
\(g(n,K)\)为无限制有多少个\(1\)的方案。

\[G(n,K,m)=\sum\limits_{i=m}^{K}\binom{i}{m}F(n,K,i) \]

\[F(n,K,m)=\sum\limits_{i=m}^{K}(-1)^{i-m}\binom{i}{m}G(n,K,i) \]

\[G(n,K,m)=\binom{K}{m}g(n,K-m) \]

\[\begin{aligned} f(n,K)&=F(n,K,0)\\ &=\sum\limits_{i=0}^{K}(-1)^{i}\binom{K}{i}g(n,K-i)\\ &=\sum\limits_{i=0}^{K}(-1)^{K-i}\binom{K}{i}g(n,i)\\ \end{aligned}\]

现在求一下\(g(n,K)\)
怎么做呢?尝试做一个\(dp\)

\[g(n,K)=\sum\limits_{d|n}g(d,K-1) \]

用卷积来写的话就是:

\[g(K)=I*g(K-1) \]

\[g(K-1)=g(K)*\mu \]

由于每个质数之间互不干扰,所以\(g\)是一个积性函数。
这样就出现了杜教筛的形式。

\[\begin{aligned} S_{K-1}(n)&=\sum\limits_{i=1}^{n}g(n,K-1)\\ &=\sum\limits_{i=1}^{n}\sum\limits_{d|i}g(\frac{i}{d},K)\mu(d)\\ &=\sum\limits_{d=1}^{n}\mu(d)\sum\limits_{i=1}^{\frac{n}{d}}g(i,K)\\ &=\sum\limits_{d=1}^{n}\mu(d)S_K(\frac{n}{d})\\ S_K(n)&=S_{K-1}(n)-\sum\limits_{d=2}^{n}\mu(d)S_K(\frac{n}{d})\\ \end{aligned}\]

这样就可以直接杜教筛了。

\[\begin{aligned} ans&=\sum\limits_{i=1}^{n}f(i,K)\\ &=\sum\limits_{i=1}^{n}\sum\limits_{j=0}^{K}(-1)^{K-j}\binom{K}{j}g(i,j)\\ &=\sum\limits_{j=0}^{K}(-1)^{K-j}\binom{K}{j}\sum\limits_{i=1}^{n}g(i,j)\\ &=\sum\limits_{j=0}^{K}(-1)^{K-j}\binom{K}{j}S_{j}(n)\\ \end{aligned}\]

这个是狄立克雷卷积的直接运用。

posted @ 2019-12-30 06:15  Lrefrain  阅读(274)  评论(0编辑  收藏  举报