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

【目录】

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

莫比乌斯函数

定义

莫比乌斯函数 μ ( n ) \mu(n) μ(n),当 n = 1 n=1 n=1时, μ ( n ) = 1 \mu(n)=1 μ(n)=1;当 n > 1 n>1 n>1时,设 n n n的唯一分解式为 n = p 1 c 1 ⋯ p k c k n=p_1^{c_1}\cdots p_k^{c_k} n=p1c1pkck,则 μ ( n ) \mu(n) μ(n)定义为
μ ( n ) = { ( − 1 ) k , c 1 = c 2 = ⋯ = c k = 1 0 , ∃   c i > 1 ( 1 ≤ i ≤ k ) \mu(n)= \begin{cases} (-1)^k,c_1=c_2=\cdots=c_k=1 \\ 0, \exists\, c_i>1(1\leq i\leq k)\\ \end{cases} μ(n)={(1)k,c1=c2==ck=10,ci>1(1ik)

性质

  • ∑ d ∣ n μ ( d ) = [ n = 1 ] \sum\limits_{d|n}\mu(d)=[n=1] dnμ(d)=[n=1]
    注:约定方括号[]中为一个命题,其结果为 1 1 1(该命题为真),或为 0 0 0(该命题为假)。例如 [ p 为 质 数 ] [p为质数] [p]= { 1 , p 是 质 数 0 , p 不 是 质 数 \begin{cases} 1,p是质数 \\ 0,p不是质数 \\ \end{cases} {1,p0,p
    证明: n = 1 n=1 n=1时,显然成立;现设 n > 1 n>1 n>1 n n n的唯一分解式为 n = p 1 c 1 ⋯ p k c k n=p_1^{c_1}\cdots p_k^{c_k} n=p1c1pkck,则
    ∑ d ∣ n μ ( d ) = μ ( 1 ) + μ ( p 1 ) + ⋯ + μ ( p k ) + μ ( p 1 p 2 ) + ⋯ + μ ( p k − 1 p k ) + ⋯ + μ ( p 1 ⋯ p k ) = 1 + ( k 1 ) ( − 1 ) + ( k 2 ) ( − 1 ) 2 + ⋯ + ( k k ) ( − 1 ) k = ( 1 − 1 ) k = 0 \begin{aligned} \sum\limits_{d|n}\mu(d) =&\mu(1)+\mu(p_1)+\cdots+\mu(p_k)+\mu(p_1p_2)\\ &+\cdots +\mu(p_{k-1}p_k)+\cdots+\mu(p_1\cdots p_k)\\ =&1+\binom{k}{1}(-1)+\binom{k}{2}(-1)^2+\cdots+\binom{k}{k}(-1)^k\\ =&(1-1)^k=0 \end{aligned} dnμ(d)===μ(1)+μ(p1)++μ(pk)+μ(p1p2)++μ(pk1pk)++μ(p1pk)1+(1k)(1)+(2k)(1)2++(kk)(1)k(11)k=0
  • φ ( n ) = ∑ d ∣ n μ ( d ) n d \varphi(n)=\sum\limits_{d|n}\mu(d)\dfrac{n}{d} φ(n)=dnμ(d)dn
    证明:
    因为 φ ( n ) = n ( 1 − 1 p 1 ) ⋯ ( 1 − 1 p k ) \varphi(n)=n\left(1-\dfrac{1}{p_1}\right)\cdots\left(1-\dfrac{1}{p_k}\right) φ(n)=n(1p11)(1pk1),其中 n = p 1 c 1 ⋯ p k c k n=p_1^{c_1}\cdots p_k^{c_k} n=p1c1pkck n n n的标准分解式,利用 μ ( n ) \mu(n) μ(n),可得 φ ( n ) = ∑ d ∣ n μ ( d ) n d \varphi(n)=\sum\limits_{d|n}\mu(d)\dfrac{n}{d} φ(n)=dnμ(d)dn

莫比乌斯反演

观察这两个等式
n = ∑ d ∣ n φ ( d ) = ∑ d ∣ n φ ( n d ) φ ( n ) = ∑ d ∣ n μ ( d ) n d = ∑ d ∣ n μ ( n d ) d \begin{aligned} n&=\sum\limits_{d|n}\varphi(d)=\sum\limits_{d|n}\varphi\left(\dfrac{n}{d}\right)\\ \varphi(n)&=\sum\limits_{d|n}\mu(d)\dfrac{n}{d}=\sum\limits_{d|n}\mu\left(\dfrac{n}{d}\right)d\\ \end{aligned} nφ(n)=dnφ(d)=dnφ(dn)=dnμ(d)dn=dnμ(dn)d
考虑将其推广至一般情况

莫比乌斯变换

对于数论函数 f ( n ) , g ( n ) f(n),g(n) f(n),g(n),若
f ( n ) = ∑ d ∣ n g ( d ) = ∑ d ∣ n g ( n d ) f(n)=\sum\limits_{d|n}g(d)=\sum\limits_{d|n}g\left(\dfrac{n}{d}\right) f(n)=dng(d)=dng(dn)
则称 f ( n ) f(n) f(n) g ( n ) g(n) g(n)莫比乌斯变换,而 g ( n ) g(n) g(n) f ( n ) f(n) f(n)莫比乌斯逆变换

反演公式

若有两个数论函数 f ( n ) , g ( n ) f(n),g(n) f(n),g(n)满足
f ( n ) = ∑ d ∣ n g ( d ) ( 1 ) f(n)=\sum\limits_{d|n}g(d)\qquad \qquad (1) f(n)=dng(d)(1)
则有
g ( n ) = ∑ d ∣ n μ ( d ) f ( n d ) ( 2 ) g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right) \qquad \qquad (2) g(n)=dnμ(d)f(dn)(2)
反过来,若满足 ( 2 ) (2) (2),则 ( 1 ) (1) (1)也成立。
证明: f ( n ) , g ( n ) f(n),g(n) f(n),g(n)满足 ( 1 ) (1) (1),则
∑ d ∣ n μ ( d ) f ( n d ) = ∑ d ∣ n μ ( d ) ∑ d ′ ∣ n d g ( d ′ ) = ∑ d d ′ ∣ n μ ( d ) g ( d ′ ) = ∑ d ′ ∣ n ∑ d ∣ n d ′ μ ( d ) g ( d ′ ) = ∑ d ′ ∣ n g ( d ′ ) ∑ d ∣ n d ′ μ ( d ) = g ( n ) \begin{aligned} \sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right)&=\sum\limits_{d|n}\mu(d)\sum\limits_{d'|\frac{n}{d}}g(d')\\ &=\sum\limits_{dd'|n}\mu(d)g(d')\\ &=\sum\limits_{d'|n}\sum\limits_{d|\frac{n}{d'}}\mu(d)g(d')\\ &=\sum\limits_{d'|n}g(d')\sum\limits_{d|\frac{n}{d'}}\mu(d)\\ &=g(n)\\ \end{aligned} dnμ(d)f(dn)=dnμ(d)ddng(d)=ddnμ(d)g(d)=dnddnμ(d)g(d)=dng(d)ddnμ(d)=g(n)
反过来,设 f ( n ) , g ( n ) f(n),g(n) f(n),g(n)满足 ( 2 ) (2) (2),同法可证
∑ d ∣ n g ( d ) = ∑ d ∣ n g ( n d ) = ∑ d ∣ n ∑ d ′ ∣ n d μ ( n d d ′ ) f ( d ′ ) = ∑ d d ′ ∣ n μ ( n d d ′ ) f ( d ′ ) = ∑ d ′ ∣ n f ( d ′ ) ∑ d ∣ n d ′ μ ( n d d ′ ) = f ( n ) \begin{aligned} \sum\limits_{d|n}g(d)&=\sum\limits_{d|n}g\left(\dfrac{n}{d}\right)\\ &=\sum\limits_{d|n}\sum\limits_{d'|\frac{n}{d}}\mu\left(\dfrac{n}{dd'}\right)f(d')\\ &=\sum\limits_{dd'|n}\mu\left(\dfrac{n}{dd'}\right)f(d')\\ &=\sum\limits_{d'|n}f(d')\sum\limits_{d|\frac{n}{d'}}\mu\left(\dfrac{n}{dd'}\right)\\ &=f(n)\\ \end{aligned} dng(d)=dng(dn)=dnddnμ(ddn)f(d)=ddnμ(ddn)f(d)=dnf(d)ddnμ(ddn)=f(n)

在OI中的应用

通常,在OI竞赛中,应用莫比乌斯反演的关键在于构造如下的式子
∑ i = 1 n ∑ j = 1 m f ( gcd ⁡ ( i , j ) ) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j)) i=1nj=1mf(gcd(i,j))
其中 f ( n ) f(n) f(n)是一个积性函数。
构造数论函数 g ( n ) g(n) g(n)满足 f ( n ) = ∑ d ∣ n g ( d ) f(n)=\sum\limits_{d|n}g(d) f(n)=dng(d)
由莫比乌斯反演公式得 g ( n ) = ∑ d ∣ n μ ( d ) f ( n d ) g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right) g(n)=dnμ(d)f(dn)
化简原式
∑ i = 1 n ∑ j = 1 m f ( gcd ⁡ ( i , j ) ) = ∑ i = 1 n ∑ j = 1 m ∑ d ∣ gcd ⁡ ( i , j ) g ( d ) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j))=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\sum\limits_{d|\gcd(i,j)}g(d) i=1nj=1mf(gcd(i,j))=i=1nj=1mdgcd(i,j)g(d)
因为 d ∣ gcd ⁡ ( i , j ) ⇔ d ∣ i , d ∣ j d|\gcd(i,j)\Leftrightarrow d|i,d|j dgcd(i,j)di,dj,所以 d d d必须是 i , j i,j i,j的约数
考虑对每个 d d d,枚举 d d d的倍数,接着化简
∑ i = 1 n ∑ j = 1 m f ( gcd ⁡ ( i , j ) ) = ∑ d = 1 min ⁡ ( n , m ) ∑ d ∣ i n ∑ d ∣ j m g ( d ) = ∑ d = 1 min ⁡ ( n , m ) ⌊ n d ⌋ ⌊ m d ⌋ g ( d ) \begin{aligned} \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j))&=\sum\limits_{d=1}^{\min(n,m)}\sum\limits_{d|i}^n \sum\limits_{d|j}^mg(d)\\ &=\sum\limits_{d=1}^{\min(n,m)}\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor g(d) \end{aligned} i=1nj=1mf(gcd(i,j))=d=1min(n,m)dindjmg(d)=d=1min(n,m)dndmg(d)
这样只需要枚举 d d d,就能求出 ∑ i = 1 n ∑ j = 1 m f ( gcd ⁡ ( i , j ) ) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j)) i=1nj=1mf(gcd(i,j)),时间复杂度为 O ( n ) O(n) O(n)
考虑 ⌊ n d ⌋ ⌊ m d ⌋ \lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor dndm可以使用数论分块,再预处理一下 g ( n ) g(n) g(n)的前缀和,时间复杂度降至 O ( n ) O(\sqrt n) O(n )
至于 g ( n ) g(n) g(n)的计算,因为 g ( n ) = ∑ d ∣ n μ ( d ) f ( n d ) g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right) g(n)=dnμ(d)f(dn),而 f ( n ) , μ ( n ) f(n),\mu(n) f(n),μ(n)为积性函数,所以 g ( n ) g(n) g(n)也是积性函数。参考这篇博客, g ( n ) g(n) g(n)可以在线性时间内求出。

你可能感兴趣的:(数学——数论)