注:本博文严谨的证明内容较少,多为知识点整理。
1.狄利克雷卷积
(f×g)(n)=∑d|nf(d)g(nd)
2.莫比乌斯反演
莫比乌斯函数:
μ(n)=⎧⎩⎨1(−1)k0n=1n=p1p2p3…pk其他情况
莫比乌斯反演:
F(n)=∑d|nf(d)
⇒f(n)=∑d|nμ(d)F(nd)
也可以写成:
F=1×f
f=μ×F
一些常见数论函数:
e(n)=[n=1]
id(n)=n
1(n)=1
d(n)=∑d|n1
σ(n)=∑d|nd
常见变换:
μ×1=e
ϕ×1=id
id×μ=ϕ
1×1=d
id×1=σ
和式变换应用举例:
求 ∑nx=1∑ny=1gcd(x,y)
解:
====∑x=1n∑y=1ngcd(x,y)∑x=1n∑y=1n∑d|gcd(x,y)ϕ(d)∑x=1n∑y=1n∑d|x,d|yϕ(d)∑d≤nϕ(d)∑d|x∑d|y1∑d≤nϕ(d)×[nd][md]
这样就可以 O(n) 处理每个询问了,但是如果询问太多,注意到对于很多 d ,
这样变换的要点在于用常见变换将和式中不好处理的部分(如gcd)转化为求和,再枚举处理。
对于更一般的 ∑x∑yf1(x)f2(y)f(gcd(x,y)) ,最棘手的部分是 f(gcd(x,y)) ,尝试找到一个 g=μ×f ,那么 f=g×1 。这样原式就可以转化为
∑x∑yf1(x)f2(y)∑d|gcd(x,y)g(d)
再进一步转化为
(∑dg(d))×∑d|xf1(x)∑d|yf2(y)
。