莫比乌斯反演学习笔记

莫比乌斯反演学习笔记

引子

很久以前就听说过了莫比乌斯反演这个名词,每次都看的稀里糊涂,但一直没能学下去。也碰到不少莫比乌斯反演的题目,无奈只能跳过。最近各种爆炸,心态极端不好,几度想放弃,想来想去还是应该坚持下去,学点新东西。于是再次百度一些以前遗留下来没学完的知识点。
主要学习了
@litble 初涉莫比乌斯反演(附带例题)
@outer_form 莫比乌斯反演定理证明(两种形式)

基本知识

莫比乌斯反演初始是两个相互关联的函数F(x)f(x)

形式1

一种形式是已知

F(n)=d|nf(d)

F(n)是所有f(d)的和,其中d是n的因数
莫比乌斯反演的结果是:
f(n)=d|nμ(d)F(nd)

形式2

另一种形式是已知

F(n)=n|df(d)

F(n)是所有f(d)的和,其中d是n的倍数
莫比乌斯反演的结果是:
f(n)=n|dμ(dn)F(d)
;
其中μ(x)是莫比乌斯函数,网上都可以看到这么一个公式:
(906)μ(x)={1x=1(1)kx=p1p2p3...pk,pi为素数pipj(ij,ij)0其他情况

莫比乌斯函数μ(x)性质

1.

(899)d|nμ(d)={1n=10n>1

证明
n=1,d|nμ(d)=1n>1,nn=p1k1p2k2p3k3...pmkmd|nd=p1v1p2v2p3v3...pmvm(i(1im),0viki)vi2,μ(d)=0,d=p1v1p2v2p3v3...pmvmm01,μ(d)0m01d使r1,μ(d)=(1)r,r1Cmrd|nμ(d)=0mCmr(1)r×1mr=(1+1)m=0

2.

d|nμ(d)d=ϕ(n)n

这个涉及到了欧拉函数,目测我肯定证明不出来,所以就直接记下来好了。而且貌似莫比乌斯反演并未用到这个性质。

开始反演

形式1

d|nμ(d)F(nd)=d|nμ(d)d|ndf(d)=d|nf(d)d|ndμ(d)

第一行到第二行运用的是F(x)f(x)的关系换掉F(nd).
第二行到第三行的我的理解:
对第二行:
d|ndd|n
d|nddd|n
显然当且仅当dd|n成立时才会对答案有μ(d)×f(d)的贡献
对第三行:
d|nddd|n
dd|nd|n
所以当且仅当dd|n成立时才会对答案有μ(d)×f(d)的贡献
现在我们只差最后一点点了
d|ndμ(d)={0nd>1,n>d1nd=1,n=d

因此:
d|nf(d)d|ndμ(d)=d|n&d<nf(d)d|ndμ(d)+d|n&d=nf(d)d|ndμ(d)=0+f(n)×1=f(n)

因此我们证明到了莫比乌斯反演的结果:
d|nμ(d)F(nd)=f(n)

形式2

F(n)=n|df(d)f(n)=n|dμ(dn)F(d)

证明
=n|dμ(dn)F(d)=n|dμ(dn)d|df(d)记d=kn=k=1+μ(k)kn|df(d)=n|df(d)k|dnμ(k)=f(n)


关于③到④的自我理解和解释
对于③,当且仅当kn|d时对答案有μ(k)f(d)的贡献。
n对于要证明的式子为常数,k[1,+),d(kn) flag A
对与④
k|dnkn|d
kn|dn|d
所以当且仅当kn|d成立时才会对答案有f(d)×μ(k)的贡献。
dn,kdn flag B
现在只需要证明
满足 flag A 的所有序偶(数对)<k,d>构成的集合A

满足flag B的所有序偶(数对)<k,d>构成的集合B
是相等的即可。
以下字母若无特殊说明,取值范围皆是正整数
A={<k,d>|kn|d}
B={<k,d>|n|dk|dn}
k|dnkn|dn|d
所以B={<k,d>|kn|d}
显然A=B
因此③可以到④


④到⑤和前面的类似,当且仅当dn=1,k|dnμ(k)0
因此d=n才有意义,代入很快化为f(n)


莫比乌斯函数的求法

注意到莫比乌斯函数的条件积性,对欧拉筛熟悉的不难时空复杂度皆为O(n)预求出μ(1)~μ(n)


先提交以下,后面再补代码和题目

2018-09-13 11:44:55

posted @ 2018-09-13 11:48  我云知世就是力量  阅读(204)  评论(0)    收藏  举报