自己摸索了这么久 感觉是可以总结了(如果不是因为多校我应该不会接触这个吧),这个结论性比较强,我基本把所有需要证明或者是比较隐晦的中间过程都证明了一遍。其实知道怎么用就行了,但是证明过程中的一些技巧值得思考和体会。
设有函数F(x)和f(x),其定义域在正整数范围内,其之间存在着如下给定关系:
F(n)=∑d|nf(d)F(n)=∑d|nf(d)
这个式子的说明了F(x)可以由f(x)表示,但是有时候现实是,F(x)我们其实可以很容易求得,但是f(x)往往不好求,如果可以逆向,由F(x)表示f(x),这就是所谓的反演。
恰好在这种情形下的确是有这种反演。
f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)
这两种写法都是一样的,只是加的顺序不一样而已,这里出现了一个μ(d)函数,其定义域也是正整数,接下来介绍一下这个函数。
给出μ(d)的定义:
μ(d)=⎧⎩⎨⎪⎪⎪⎪⎪⎪1,(−1)k,0,if d =1if d =p1p2p3...pkotherwiseμ(d)={1,if d =1(−1)k,if d =p1p2p3...pk0,otherwise
这便是所谓的莫比乌斯函数。对于这个函数举几个栗子,如μ(7)=-1,7的k为1,μ(6)为1,因为6可以变为2*3,则k为2,μ(4)=0,因为其质因子2的幂大于1,属于otherwise的情况。
先证明这个函数的一个性质(反演的证明会用到):
∑d|nμ(d)={1,0,if n =1if n >1∑d|nμ(d)={1,if n =10,if n >1
证明:
由唯一分解定理得可以把
n=pa11pa22pa33pa44...pakkn=p1a1p2a2p3a3p4a4...pkak
因为只要akak大于1的d的μ(d)为0,对于式子没有贡献,所以,我们只要从p1p1到pkpk的组合找除数,如只有一个质因子有多少个数,两个质因子有多少个,等等,因为质因子个数与μ(d)μ(d)的取值有关,即正负1(由上面的莫比乌斯的函数的定义知道)那么有:
∑d|nμ(d)=C0k−C1k+C2k+...+(−1)kCkk=∑i=0k(−1)iCik∑d|nμ(d)=Ck0−Ck1+Ck2+...+(−1)kCkk=∑i=0k(−1)iCki
所以只要证明∑ki=0(−1)iCik=0∑i=0k(−1)iCki=0
又二项式定理得:
(x+y)n=∑i=0nCinxiyn−i(x+y)n=∑i=0nCnixiyn−i
把x=−1,y=1x=−1,y=1带入得证
最后最重要的是证明f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)
证明:
由文章开头式子的定义的运用可得
∑d|nμ(d)F(nd)=∑d|nμ(d)∑k|ndf(k)∑d|nμ(d)F(nd)=∑d|nμ(d)∑k|ndf(k)
又
∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)
这里我觉得需要详细证明一下,但是查了许多资料都没有相关证明,所以就自己想了一个证明了方案,是不是太浅显了呢,本质上就是枚举角度的转变。
这部最大转换在于从枚举d转向枚举k,如∑d|nμ(d)∑k|ndf(k)∑d|nμ(d)∑k|ndf(k),只有当我们确定了d值时,我才能去枚举内嵌的第二个和式。
又
∑d|nμ(d)∑k|ndf(k)=∑k|n∑d|nkf(k)μ(d)∑d|nμ(d)∑k|ndf(k)=∑k|n∑d|nkf(k)μ(d)
易知在和式里每一项的f(k)μ(d)f(k)μ(d)的系数都为1,所以实质上,我们只要证明
若d|n,k|nd,那么有μ(d)f(k)则μ(k)f(d)也一定存在若d|n,k|nd,那么有μ(d)f(k)则μ(k)f(d)也一定存在
我们先证明μ(k)μ(k)存在,由传递性
k|nd⇒k|nk|nd⇒k|n
所有一定存在μ(k)μ(k)
证f(d),因为
d|n⇒dm=n⇒m|nd|n⇒dm=n⇒m|n
现在假设枚举到了μ(m)μ(m),则第二和式为∑k|nmf(k)∑k|nmf(k)
因为nm=dnm=d,所有k一定可以取到d值,所以f(d)f(d)一定存在
得证
也因此同时我们发现这个和式非常对称
∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)
由之前证明的莫比乌斯函数的性质,若nk>1nk>1,则∑d|nkμ(d)=0∑d|nkμ(d)=0,所以只有当k=n为1,
那么
∑k|nf(k)∑d|nkμ(d)=f(n)∑k|nf(k)∑d|nkμ(d)=f(n)
所以
f(n)=∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)=f(n)f(n)=∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)=f(n)
证毕
莫比乌斯反演的第二种形式(题目中运用的最多)是
若
F(n)=∑n|df(d)F(n)=∑n|df(d)
则
f(n)=∑n|dμ(dn)F(d)f(n)=∑n|dμ(dn)F(d)
证明过程类似:
f(n)=∑n|dμ(dn)∑d|kf(k)=∑n|kf(k)∑d|knμ(d)f(n)=∑n|dμ(dn)∑d|kf(k)=∑n|kf(k)∑d|knμ(d)
所以也是当k取到n时,才不为0,得证