主要是杜教筛。
1.DZY Loves Math IV http://hzoj.com/contest/228/problem/3
直接推,就没什么好说的。
[egin{aligned}
ans&=sumlimits_{i=1}^{n}sumlimits_{j=1}^{m}varphi(ij)\
&=sumlimits_{i=1}^{n}S(i,m)\
S(n,m)&=sumlimits_{i=1}^{m}varphi(ni)\
\
\
n&=\_*p^c\
g&=prod p\
gr&=n\
\
\
S(n,m)&=rsumlimits_{i=1}^{m}varphi(gi)\
&=rsumlimits_{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\
&=rsumlimits_{i=1}^{m}varphi(i)varphi(frac{g}{gcd(i,g)})gcd(i,g)\
\
\
varphi(n)&=sumlimits_{i=1}^{n}[gcd(i,n)=1]\
&=sumlimits_{i=1}^{n}sumlimits_{d|gcd(i,n)}mu(d)\
&=sumlimits_{d|n}mu(d)frac{n}{d}\
varphi&=mu*id\
id&=varphi*I\
n&=sumlimits_{d|n}varphi(d)\
\
\
&=rsumlimits_{i=1}^{m}varphi(i)varphi(frac{g}{gcd(i,g)})sumlimits_{d|gcd(i,g)}varphi(d)\
&=rsumlimits_{i=1}^{m}varphi(i)sumlimits_{d|gcd(i,g)}varphi(frac{g}{d})\
&=rsumlimits_{d|g}varphi(frac{g}{d})sumlimits_{i=1}^{frac{m}{d}}varphi(id)\
&=rsumlimits_{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=sumlimits_{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)=sumlimits_{i=m}^{K}inom{i}{m}F(n,K,i)
]
[F(n,K,m)=sumlimits_{i=m}^{K}(-1)^{i-m}inom{i}{m}G(n,K,i)
]
[G(n,K,m)=inom{K}{m}g(n,K-m)
]
[egin{aligned}
f(n,K)&=F(n,K,0)\
&=sumlimits_{i=0}^{K}(-1)^{i}inom{K}{i}g(n,K-i)\
&=sumlimits_{i=0}^{K}(-1)^{K-i}inom{K}{i}g(n,i)\
end{aligned}]
现在求一下(g(n,K))
怎么做呢?尝试做一个(dp)。
[g(n,K)=sumlimits_{d|n}g(d,K-1)
]
用卷积来写的话就是:
[g(K)=I*g(K-1)
]
[g(K-1)=g(K)*mu
]
由于每个质数之间互不干扰,所以(g)是一个积性函数。
这样就出现了杜教筛的形式。
[egin{aligned}
S_{K-1}(n)&=sumlimits_{i=1}^{n}g(n,K-1)\
&=sumlimits_{i=1}^{n}sumlimits_{d|i}g(frac{i}{d},K)mu(d)\
&=sumlimits_{d=1}^{n}mu(d)sumlimits_{i=1}^{frac{n}{d}}g(i,K)\
&=sumlimits_{d=1}^{n}mu(d)S_K(frac{n}{d})\
S_K(n)&=S_{K-1}(n)-sumlimits_{d=2}^{n}mu(d)S_K(frac{n}{d})\
end{aligned}]
这样就可以直接杜教筛了。
[egin{aligned}
ans&=sumlimits_{i=1}^{n}f(i,K)\
&=sumlimits_{i=1}^{n}sumlimits_{j=0}^{K}(-1)^{K-j}inom{K}{j}g(i,j)\
&=sumlimits_{j=0}^{K}(-1)^{K-j}inom{K}{j}sumlimits_{i=1}^{n}g(i,j)\
&=sumlimits_{j=0}^{K}(-1)^{K-j}inom{K}{j}S_{j}(n)\
end{aligned}]
这个是狄立克雷卷积的直接运用。