莫比乌斯反演

莫比乌斯反演

莫比乌斯反演是数论数学中很重要的内容,可以用于解决很多组合数学的问题。莫比乌斯反演在大部分情况下都能简化运算。

导入

我们考虑一个函数(f(x)=sum_{d|x}g(d))
那么显然
(f(1)=g(1))
(f(2)=g(1)+g(2))
(f(3)=g(1)+g(3))
(f(4)=g(1)+g(2)+g(4))
(f(5)=g(1)+g(5))
(f(6)=g(1)+g(2)+g(3)+g(6))
(f(7)=g(1)+g(7))
(f(8)=g(1)+g(2)+g(4)+g(8))
所以
(g(1)=f(1))
(g(2)=f(2)-f(1))
(g(3)=f(3)-f(1))
(g(4)=f(4)-f(2))
(g(5)=f(5)-f(1))
(g(6)=f(6)-f(3)-f(2)+f(1))
(g(7)=f(7)-f(1))
(g(8)=f(8)-f(4))

从此可以看出若(f(x)=sum_{d|x}g(d))
那么(g(x)=sum_{d|x}k*f(d)(k是系数))(也就是说(g(x)可以由f(d)()d是x(的约数)经过一定的变化反推出来))

我们假设(x=p^2(p是质数))
所以(f(p)=g(p)+g(1),f(x)=g(x)+g(p)+g(1))
显然(g(x)=f(x)-f(p))
可以看到
(d=1时,k=0)
(d=p时,k=-1)
(d=x=p^2时,k=1)
假设(k=μ(frac{x}{d})) 所以此时
(μ(p^2)=0,μ(p)=-1,μ(1)=1)

莫比乌斯反演定理

定义函数(μ(x))
(μ(1)=1)
(x=P_1P_2P_3ldots P_n(P为质数且次数都是1)),(μ(x)=(-1)^n)
对于其他情况(μ(x)=0)
显然(μ)是一个积性函数,我们在计算时一般用筛素数的方法进行预处理(就像你线性求欧拉函数一样)

若有(f(x)=sum_{d|x}g(d))
那么(g(x)=sum_{d|x}μ(frac{x}{d})f(d))
这就是莫比乌斯反演定理。
当然,这还有一种形式(其实第二种用得更多,但不好导入)
若有(f(x)=sum_{x|d}g(d))
那么(g(x)=sum_{x|d}μ(frac{d}{x})f(d))

证明一下形式1(第二种依此类推即可)
ps:为了看着舒服,将所有(d)替换成(i)
(f(x)=sum_{i|x}g(i))
(g(x)=sum_{i|x}μ(frac{x}{i})f(i))
(g(x))带入(f(x))

[f(x)=sum_{i|x}sum_{j|i}μ(frac{i}{j})f(j) ]

因为(j|i)(i|x),那么肯定有 (j|x)(frac{i}{j}|frac{x}{j})

[f(x)=sum_{j|x}f(j)sum_{frac{i}{j}|frac{x}{j}}μ(frac{i}{j}) ]

看着很不爽,把(frac{i}{j})替换成(i)

[f(x)=sum_{j|x}f(j)sum_{i|frac{x}{j}}μ(i) ]

先设(h(x)=sum_{i|x}μ(i))

[f(x)=sum_{j|x}f(j)h(frac{x}{j}) ]

考虑(h(x))怎么求
显然(h(1)=1)
(x eq 1)
(x=P_1^{a_1}P_2^{a_2}...P_n^{a_n},P_k为互不相同的质数)
那么(i=P_1^{b_1}P_2^{b_2}...P_n^{b_n},)任意(b_kleq a_k)
根据莫比乌斯函数的定义,若有任意一个(b_kgeq 2)
那么(μ(i)=0),对结果没有贡献;
若所有(b_kleq 1),
对于(b_1)来说(任意一个(b_k)都可以,这里例举(b_1)),在其他位不变的情况下
根据莫比乌斯函数的定义
(b_1)(0)或者为(1)的答案一个是(1),另一个就是(-1)
加起来就是(0)了,所以(b_1=1)的所有情况加上(b_1=0)的结果为(0)
(b_1geq 2)时,(μ(i)=0)
所以(h(x)=0)
所有当且仅当(x=1)(h(x)=1),否则(h(x)=0)
(h(x))往上代,就会愉快的发现等式成立了。

剩下的就是灵活运用啦

原文地址:https://www.cnblogs.com/ljq-despair/p/8682813.html