莫比乌斯函数和莫比乌斯反演

莫比乌斯函数

概念

莫比乌斯函数的定义如下:

  • d = 1 d=1 d=1 ,则 μ ( d ) = 1 \mu(d)=1 μ(d)=1
  • d = p 1 ⋅ p 2 ⋯ p k , p i d=p_1\cdot p_2 \cdots p_k,p_i d=p1p2pk,pi为互异质数,那么 μ ( d ) = ( − 1 ) k \mu(d)=(-1)^k μ(d)=(1)k 。(注意,p互不相等,也就是说,一个数不能有多个相同的质因子
  • 其他情况下 μ ( d ) = 0 \mu(d)=0 μ(d)=0

性质

对于任意正整数 n n n
∑ d ∣ n μ ( d ) = { 1 ( n = 1 ) 0 ( n > 1 ) \sum_{d|n}\mu(d)=\left\{ \begin{array}{} 1 & (n=1)\\ 0 & (n>1)\\ \end{array} \right. dnμ(d)={10(n=1)(n>1)
证明:

  • n = 1 n=1 n=1时显然

  • n > 1 n>1 n>1

    首先将 n n n分解成 n = p 1 a 1 p 2 a 2 ⋯ p k a k n=p_1^{a_1} p_2^{a_2}\cdots p_k^{a_k} n=p1a1p2a2pkak

    因为在 n n n中的所有因子 d d d中,只有 μ ( d ) \mu(d) μ(d)不为零的才会计算到答案里,所以说我们设 r = p 1 p 2 ⋯ p r r=p_1p_2\cdots p_r r=p1p2pr

    此时有
    ∑ d ∣ n μ ( d ) = C k 0 − C k 1 + C k 2 + ⋯ + ( − 1 ) k C k k = ∑ i = 0 k ( − 1 ) i ⋅ C k i \sum_{d|n}\mu(d)=C^0_k-C^1_k+C^2_k+\cdots+(-1)^kC^k_k=\sum_{i=0}^{k}(-1)^i\cdot C^i_k dnμ(d)=Ck0Ck1+Ck2++(1)kCkk=i=0k(1)iCki
    由二项式定理得
    ( x + y ) n = ∑ i = 0 n C n i ⋅ x i ⋅ y n − i (x+y)^n=\sum_{i=0}^n C^i_n\cdot x^i\cdot y^{n-i} (x+y)n=i=0nCnixiyni
    x = 1 , y = − 1 x=1,y=-1 x=1,y=1
    ∑ i = 0 n C n i ⋅ ( − 1 ) i = ∑ i = 0 n C n i ⋅ ( − 1 ) i ⋅ 1 n − i = ( − 1 + 1 ) n = 0 \sum^{n}_{i=0}C^i_n\cdot(-1)^i=\sum_{i=0}^nC_n^i\cdot (-1)^i\cdot 1^{n-i}=(-1+1)^n=0 i=0nCni(1)i=i=0nCni(1)i1ni=(1+1)n=0
    得证

求法

因为莫比乌斯函数是积性函数,所以求莫比乌斯函数可以用线性筛来求。

莫比乌斯反演

形式一

概念

我们设
F ( n ) = ∑ d ∣ n f ( d ) F(n)=\sum_{d|n} f(d) F(n)=dnf(d)

此时就有

f ( n ) = ∑ d ∣ n μ ( d ) ⋅ F ( n d ) f(n)=\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d})\\ f(n)=dnμ(d)F(dn)

这时的式子就是一个狄利克雷卷积,关于狄利克雷卷积,可以看看我的另一篇博客

证明

f ( n ) = ∑ d ∣ n μ ( d ) ⋅ F ( n d ) f(n)=\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d}) f(n)=dnμ(d)F(dn)

我们来看看怎样证明莫比乌斯反演中的第一个式子。

首先我们将 F ( n d ) F(\dfrac{n}{d}) F(dn)代入式子
∑ d ∣ n μ ( d ) ⋅ F ( n d ) = ∑ d ∣ n μ ( d ) ∑ k ∣ n d f ( k ) \sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d})=\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k) dnμ(d)F(dn)=dnμ(d)kdnf(k)
通过和式的变换,我们可以得出
∑ d ∣ n μ ( d ) ∑ k ∣ n d f ( k ) = ∑ k ∣ n f ( k ) ∑ d ∣ n k μ ( d ) \sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k)=\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d) dnμ(d)kdnf(k)=knf(k)dknμ(d)
因为
∑ d ∣ n μ ( d ) = { 1 ( n = 1 ) 0 ( n > 1 ) \sum_{d|n}\mu(d)=\left\{ \begin{array}{} 1 & (n=1)\\ 0 & (n>1)\\ \end{array} \right. dnμ(d)={10(n=1)(n>1)
所以只有在 n k = 1 \frac{n}{k}=1 kn=1时, ∑ d ∣ n k μ ( d ) = 1 \sum_{d|\frac{n}{k}}\mu(d)=1 dknμ(d)=1,其余时为零,故
∑ k ∣ n f ( k ) ∑ d ∣ n k μ ( d ) = f ( n ) \sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)=f(n) knf(k)dknμ(d)=f(n)
得证

形式二

概念

我们设
F ( n ) = ∑ n ∣ d f ( d ) F(n)=\sum_{n|d} f(d) F(n)=ndf(d)

此时就有

f ( n ) = ∑ n ∣ d μ ( d n ) ⋅ F ( d ) f(n)=\sum_{n|d}\mu(\frac dn)\cdot F(d)\\ f(n)=ndμ(nd)F(d)

这一种在推导过程中更常用。

第二个公式和第一个公式乍一看没什么不同,但仔细多看几遍,会发现,你枚举的 d d d n n n的倍数,而形式一中 n n n d d d的倍数。

其实我第一眼看上去,也觉得不可思议,倍数不是有无限个吗?为什么还能成立呢?接下来我们在来证明一下。

证明

首先将 F ( d ) F(d) F(d)代入

∑ n ∣ d μ ( d n ) ⋅ F ( d ) = ∑ n ∣ d μ ( d n ) ∑ d ∣ k f ( k ) \sum_{n|d}\mu(\dfrac{d}{n})\cdot F(d)=\sum_{n|d}\mu(\dfrac{d}{n})\sum_{d|k}f(k) ndμ(nd)F(d)=ndμ(nd)dkf(k)

然后经过和式的变换,有

∑ n ∣ d μ ( d n ) ∑ d ∣ k f ( k ) = ∑ n ∣ k f ( k ) ∑ d ∣ k n μ ( d ) \sum_{n|d}\mu(\dfrac{d}{n})\sum_{d|k}f(k)=\sum_{n|k}f(k)\sum_{d|\frac{k}{n}}\mu(d) ndμ(nd)dkf(k)=nkf(k)dnkμ(d)

因为

∑ d ∣ n μ ( d ) = { 1 ( n = 1 ) 0 ( n > 1 ) \sum_{d|n}\mu(d)=\left\{ \begin{array}{} 1 & (n=1)\\ 0 & (n>1)\\ \end{array} \right. dnμ(d)={10(n=1)(n>1)

所以只有在 k n = 1 \frac{k}{n}=1 nk=1时, ∑ d ∣ k n μ ( d ) = 1 \sum_{d|\frac{k}{n}}\mu(d)=1 dnkμ(d)=1,其余时为零,故

∑ n ∣ k f ( k ) ∑ d ∣ k n μ ( d ) = f ( n ) \sum_{n|k}f(k)\sum_{d|\frac{k}{n}}\mu(d)=f(n) nkf(k)dnkμ(d)=f(n)

得证

例题

例题一

题目描述

求证:

∑ d ∣ n μ ( d ) ⋅ n d = ϕ ( n ) \sum_{d|n}\mu(d)\cdot\frac{n}{d}=\phi(n) dnμ(d)dn=ϕ(n)

做法

我们先把原式化成如下式子:

∑ d ∣ n μ ( n d ) ⋅ I d ( d ) = ϕ ( n ) \sum_{d|n}\mu(\frac {n}{d})\cdot Id(d)=\phi(n) dnμ(dn)Id(d)=ϕ(n)

然后我们将它进行反演。

I d ( n ) = ∑ d ∣ n ϕ ( d ) Id(n)=\sum_{d|n}\phi(d) Id(n)=dnϕ(d)

n = ∑ d ∣ n ϕ ( d ) n=\sum_{d|n}\phi(d) n=dnϕ(d)

我们设 f ( n ) = ∑ d ∣ n ϕ ( d ) f(n) = \sum_{d|n}\phi(d) f(n)=dnϕ(d) ,因为 ϕ \phi ϕ 是一个积性函数,所以 f ( n ) f(n) f(n) 也是一个积性函数。

于是我们将 n n n 分解为 p 1 a 1 ⋅ p 2 a 2 ⋯ p k a k p_1^{a_1}\cdot p_2^{a_2}\cdots p_k^{a_k} p1a1p2a2pkak 的形式,其中 p p p 是互异质数。

接下来我们就可以得到:

f ( n ) = f ( p 1 a 1 ) ⋅ f ( p 2 a 2 ) ⋯ f ( p k a k ) f(n)=f(p_1^{a_1})\cdot f(p_2^{a_2}) \cdots f(p_k^{a_k}) f(n)=f(p1a1)f(p2a2)f(pkak)

又因为

f ( p i a i ) = ∑ d ∣ n p h i ( d ) = ϕ ( 1 ) + ϕ ( p i ) + ϕ ( p i 2 ) + ⋯ + ϕ ( p i a i ) = 1 + ( p − 1 ) + ( p 2 − p ) + ⋯ + ( p k − p k − 1 ) = p k \begin{aligned} f(p_i^{a_i}) &= \sum_{d|n} phi(d) \\ &= \phi(1) + \phi(p_i) + \phi(p_i^2)+\cdots+\phi(p_i^{a_i})\\ &=1+(p-1)+(p^2-p)+\cdots+(p^k-p^{k-1})\\ &=p^k \end{aligned} f(piai)=dnphi(d)=ϕ(1)+ϕ(pi)+ϕ(pi2)++ϕ(piai)=1+(p1)+(p2p)++(pkpk1)=pk

所以

f ( n ) = f ( p 1 a 1 ) ⋅ f ( p 2 a 2 ) ⋯ f ( p k a k ) = p 1 a 1 ⋅ p 2 a 2 ⋯ p k a k = n f(n)=f(p_1^{a_1})\cdot f(p_2^{a_2}) \cdots f(p_k^{a_k})=p_1^{a_1}\cdot p_2^{a_2}\cdots p_k^{a_k}=n f(n)=f(p1a1)f(p2a2)f(pkak)=p1a1p2a2pkak=n

n = ∑ d ∣ n ϕ ( d ) n=\sum_{d|n}\phi(d) n=dnϕ(d)

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值