引入 §
定义函数
F(n)=d∣n∑f(d)
因此
F(1)F(2)F(3)F(4)F(5)F(6)F(7)F(8)F(9)=f(1)=f(1)+f(2)=f(1)+f(3)=f(1)+f(2)+f(4)=f(1)+f(5)=f(1)+f(2)+f(3)+f(6)=f(1)+f(7)=f(1)+f(2)+f(4)+f(8)=f(1)+f(3)+f(9)
反推有
f(1)f(2)f(3)f(4)f(5)f(6)f(7)f(8)f(9)=F(1)=F(2)−F(1)=F(3)−F(1)=F(4)−F(2)=F(5)−F(1)=F(6)−F(3)−F(2)+F(1)=F(7)−F(1)=F(8)−F(4)=F(9)−F(3)
则有反演公式猜想
f(n)=d∣n∑μ(d)F(dn)
其中μ(⋅)为莫比乌斯函数
莫比乌斯函数 §
μ(d)=⎩⎨⎧1(−1)k0d=1d=p1p2⋯pkotherwise
对case-2解释:对自然数d进行素数分解后,其因子项的最高次数为1,k为互异素因子的个数。
因此,有μ(d)
μ(1)μ(2)μ(3)μ(4:22)μ(5)μ(6)μ(7)μ(8:22∗2)μ(9:32)=========1−1−10−11−100
性质 §
1. 因子的莫比乌斯函数和 §
d∣n∑μ(d)={10n=1otherwise=[n=1]=ε(n)
对情况2的证明:
对于自然数n>1,可以分解为
n=p1a1p2a2⋯pkak
则因子d可以表示为
d=pt1at1⋯ptratr
若要μ(d)=0,则tk=1,则
d′=pt1⋯ptr
设d′由r个互异素因子的乘积构成,则d′的产生方案有(rk)种,其中k为n的互异素因子总个数
于是原式变为
d∣n∑μ(d)=∑μ(d′)=r=0∑k(−1)r(rk)
根据二项式定理知
(a+b)n=i=0∑n(in)an−ibi
取a=1,b=−1,代入即可得证:若n>1,有
d∣n∑μ(d)=0■
2. 积性函数 §
若gcd(a,b)=1,则μ(ab)=μ(a)⋅μ(b)
由于a,b没有相同的质因子,该结论易得
由于莫比乌斯函数具有积性函数的性质,则可以利用线性筛在O(n)的复杂度下求出
莫比乌斯反演定理 §
证明 §
⟹F(n)=d∣n∑f(d)f(n)=d∣n∑μ(d)F(dn)
证明:
f(n):=d∣n∑μ(d)F(dn)=d∣n∑μ(d)k∣dn∑f(k)=d∣n∑f(d)k∣dn∑μ(k)=d∣n∑f(d)[dn=1]=d∣n∑f(d)[d=n]=f(n)■
应用 §
观察f(n)的形式
f(n)=d∣n∑μ(d)F(dn)
对于某一n,若f(n)不易求得,但n的约数{d}与约数的函数和F(n)=∑d∣nf(d)易于求得,则可以通过对F(n)进行莫比乌斯反演来求得f(n)
1. 包含函数等式的真假项 §
==I[f(n)=1]ε(f(n))d∣f(n)∑μ(d)
例如:
求∑x=ab∑y=cdI[gcd(x,y)=k],其中a,b,c,d,k为参数
利用容斥原理,将结果转化为
Q(a→b,c→d)=Q(b,d)+Q(a,c)−Q(a,d)−Q(b,c)
其中
Q(m,n)=x=1∑my=1∑nI[gcd(x,y)=k]
由于gcd(x,y)=k⟹gcd(kx,ky)=1
因此
Q(m,n)=x=1∑⌊km⌋y=1∑⌊kn⌋I[gcd(x,y)=1]
使用ε(⋅)变化
Q(m,n)=x=1∑⌊km⌋y=1∑⌊kn⌋ε(gcd(x,y)=1)
引入莫比乌斯反演
Q(m,n)=x=1∑⌊km⌋y=1∑⌊kn⌋d∣gcd(x,y)∑μ(d)
假设m≤n
考虑这个三重求和式子所表达的语义:对于范围内的(x,y),若d∣gcd(x,y),即x,y均为d的倍数,则将μ(d)的贡献纳入
那么,通过交换语义来交换求和符号的顺序:对于一个范围内的d(1≤d≤⌊km⌋),若在一个二维范围内x,y均为d的倍数,则将μ(d)的贡献纳入
则原式变为
Q(m,n)=d=1∑⌊km⌋μ(d)x=1∑⌊km⌋I[d∣x]y=1∑⌊kn⌋I[d∣y]
后面两个求和符号表达的语义为:范围(1,⌊⋅⌋)内,d的倍数的个数,因此可以化简为
Q(m,n)=d=1∑⌊km⌋μ(d)⌊kdm⌋⌊kdn⌋
使用数论分块即可求解
2. 一维gcd和 §
i=1∑ngcd(i,n)
同理,枚举∀d满足
d=gcd(i,n)
其贡献需要乘以d的出现次数,即导致gcd(i,n)=d的i的数量
考虑d等同于形式
gcd(di,dn)=1
其中n为输入参数,i为变量,其范围1≤i≤n,因此该式的含义为:1到dn中,与dn互质的数
因此可以转换为对dn的欧拉函数的计算
Count(d)=φ(dn)
因此,d的贡献为
d⋅φ(dn)
代回原式,可得
i=1∑ngcd(i,n)=d∣n∑d⋅φ(dn)■
3. 一维lcm和 §
i=1∑nlcm(i,n)
使用恒等式进行变形
LHS=i=1∑ngcd(i,n)i⋅n
提取边界i=n,有
LHS=n+i=1∑n−1gcd(i,n)i⋅n
考虑等式gcd(i,n)=gcd(n−i,n)的对称性,则可以化为
LHS=n+21[i=1∑n−1gcd(i,n)i⋅n+i=1∑n−1gcd(n−i,n)(n−i)⋅n]=n+21i=1∑n−1gcd(i,n)n2=21n+21i=1∑ngcd(i,n)n2
同理,枚举d=gcd(i,n),每个d的贡献次数同理为φ(dn),因此可化为
LHS=21n+21d∣n∑dn2⋅φ(dn)=21n+21nd∣n∑dn⋅φ(dn)
考虑因子d与dn的等价性,则可以化简
LHS=21n+21nd∣n∑d⋅φ(d)=21n(1+d∣n∑d⋅φ(d))
因此
i=1∑nlcm(i,n)=21n(1+d∣n∑d⋅φ(d))■
4. 二维gcd和 §
设n≤m
i=1∑nj=1∑mgcd(i,j)
同理,枚举d=gcd(i,j),由于d同时为i,j的因数,且由于欧拉函数性质
n=d∣n∑φ(d)
因此
gcd(i,j)=d∣i,d∣j∑φ(d)
代回原式
LHS=i=1∑nj=1∑md∣i,d∣j∑φ(d)
更改求和顺序
LHS=d=1∑nφ(d)i=1∑nj=1∑mI[d∣i]I[d∣j]=d=1∑nφ(d)⌊dn⌋⌊dm⌋
因此
i=1∑nj=1∑mgcd(i,j)=d=1∑nφ(d)⌊dn⌋⌊dm⌋■
5. 二维lcm和 §
设n≤m
i=1∑nj=1∑mlcm(i,j)
进行恒等变形
LHS=i=1∑nj=1∑mgcd(i,j)i⋅j
同理枚举d=gcd(i,j)
LHS=d=1∑ndi=1∑nj=1∑mi⋅j⋅I[gcd(i,j)=d]=d=1∑ndi=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j⋅I[gcd(i,j)=1]=d=1∑nd⋅α(⌊dn⌋,⌊dm⌋)
其中,定义
α(n,m)=i=1∑nj=1∑mi⋅j⋅I[gcd(i,j)=1]
使用莫比乌斯反演ε(⋅)
α(n,m)=i=1∑nj=1∑mi⋅j⋅ε(gcd(i,j))=d=1∑nμ(d)d∣i∑nid∣j∑mj=d=1∑nd2⋅μ(d)i=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j=d=1∑nd2⋅μ(d)⋅β(⌊dn⌋,⌊dm⌋)
其中,定义
β(n,m)=i=1∑nj=1∑mi⋅j=2m(m+1)⋅2n(n+1)
没有循环运算,可以直接求得
因此,整理可得
i=1∑nj=1∑mlcm(i,j)=d=1∑nd⋅α(⌊dn⌋,⌊dm⌋)α(n,m)=d=1∑nd2⋅μ(d)⋅β(⌊dn⌋,⌊dm⌋)β(n,m)=2m(m+1)⋅2n(n+1)■