莫比乌斯反演学习笔记

莫比乌斯反演学习笔记

引子

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

基本知识

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

形式1

一种形式是已知

F(n)=d|nf(d) F ( n ) = ∑ d | n f ( d )

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

形式2

另一种形式是已知

F(n)=n|df(d) F ( n ) = ∑ n | d f ( d )

F(n) F ( n ) 是所有 f(d) f ( d ) 的和,其中d是n的倍数
莫比乌斯反演的结果是:
f(n)=n|dμ(dn)F(d) f ( n ) = ∑ n | d μ ( d n ) F ( d )
;
其中 μ(x) μ ( x ) 是莫比乌斯函数,网上都可以看到这么一个公式:
μ(x)=1(1)k0x=1x=p1p2p3...pk,pipipj(ij,ij)(906) (906) μ ( x ) = { 1 x=1 ( − 1 ) k x = p 1 p 2 p 3 . . . p k , p i 为素数 且 p i ≠ p j ( ∀ i ∀ j , i ≠ j ) 0 其他情况

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

1.

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

证明
n=1,d|nμ(d)=1n>1,nn=pk11pk22pk33...pkmmd|nd=pv11pv22pv33...pvmm(i(1im),0viki)vi2,μ(d)=0,d=pv11pv22pv33...pvmmm01,μ(d)0m01d使r1,μ(d)=(1)r,r1Crmd|nμ(d)=0mCrm(1)r×1mr=(1+1)m=0 若 n = 1 , ∑ d | n μ ( d ) = 1 若 n > 1 , n 的 标 准 分 解 式 : n = p 1 k 1 p 2 k 2 p 3 k 3 . . . p m k m d | n ⟺ d = p 1 v 1 p 2 v 2 p 3 v 3 . . . p m v m ( ∀ i ( 1 ≤ i ≤ m ) , 0 ≤ v i ≤ k i ) ① ∃ v i ≥ 2 , μ ( d ) = 0 , 可 直 接 忽 略 ② 故 d = p 1 v 1 p 2 v 2 p 3 v 3 . . . p m v m 中 的 m 个 指 数 仅 可 取 0 与 1 , μ ( d ) 才 不 为 0 故 问 题 转 化 为 有 m 个 空 位 , 每 个 位 置 可 填 上 0 或 者 1 显 然 每 一 种 填 法 对 应 一 个 对 答 案 有 贡 献 的 d 假 使 恰 好 填 了 r 个 1 , 则 相 应 的 μ ( d ) = ( − 1 ) r , 而 恰 好 填 r 个 1 的 方 法 数 是 C m r 因 此 , ∑ d | n μ ( d ) = ∑ 0 m C m r ( − 1 ) r × 1 m − r = ( − 1 + 1 ) m = 0

2.

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

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

开始反演

形式1

d|nμ(d)F(nd)=d|nμ(d)d|ndf(d)=d|nf(d)d|ndμ(d) ∑ d | n μ ( d ) F ( n d ) = ∑ d | n μ ( d ) ∑ d ′ | n d f ( d ′ ) = ∑ d ′ | n f ( d ′ ) ∑ d | n d ′ μ ( d )

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

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

形式2

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

证明
=n|dμ(dn)F(d)=n|dμ(dn)d|df(d)=k=1+μ(k)kn|df(d)=n|df(d)k|dnμ(k)=f(n)d=kn 右 边 = ∑ n | d μ ( d n ) F ( d ) = ∑ n | d μ ( d n ) ∑ d | d ′ f ( d ′ ) 记d=kn = ∑ k = 1 + ∞ μ ( k ) ∑ k n | d ′ f ( d ′ ) ③ = ∑ n | d ′ f ( d ′ ) ∑ k | d ′ n μ ( k ) ④ = f ( n ) ⑤


关于③到④的自我理解和解释
对于③,当且仅当 kn|d k n | d ′ 时对答案有 μ(k)f(d) μ ( k ) ∗ f ( d ′ ) 的贡献。
n n 对于要证明的式子为常数,k[1,+),d(kn) flag A
对与④
k|dnkn|d k | d ′ n ⟺ k n | d ′
kn|dn|d k n | d ′ ⟹ n | d ′
所以当且仅当 kn|d k n | d ′ 成立时才会对答案有 f(d)×μ(k) f ( d ′ ) × μ ( k ) 的贡献。
dn,kdn d ′ 取 遍 n 的 所 有 倍 数 , k 取 遍 d ′ n 的 所 有 因 数 flag B
现在只需要证明
满足 flag A 的所有序偶(数对) <k,d> < k , d ′ > <script type="math/tex" id="MathJax-Element-16924"> </script>构成的集合A

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


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


莫比乌斯函数的求法

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


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

2018-09-13 11:44:55

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值