码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-02-28 00:54:31      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:竞赛   span   前缀   log   end   tar   线性   html   线性时间   

莫比乌斯函数

定义

莫比乌斯函数\(\mu(n)\),当\(n=1\)时,\(\mu(n)=1\);当\(n>1\)时,设\(n\)的唯一分解式为\(n=p_1^{c_1}\cdots p_k^{c_k}\),则\(\mu(n)\)定义为
\(\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}\)

性质

  1. \(\sum\limits_{d|n}\mu(d)=[n=1]\)
    注:约定方括号[]中为一个命题,其结果为\(1\)(该命题为真),或为\(0\)(该命题为假)。例如\([p为质数]\)=\(\begin{cases} 1,p是质数 \\ 0,p不是质数 \\ \end{cases}\)
    证明:\(n=1\)时,显然成立;现设\(n>1\)\(n\)的唯一分解式为\(n=p_1^{c_1}\cdots p_k^{c_k}\),则
    \(\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}\)
  2. \(\varphi(n)=\sum\limits_{d|n}\mu(d)\dfrac{n}{d}\)
    证明:
    因为\(\varphi(n)=n\left(1-\dfrac{1}{p_1}\right)\cdots\left(1-\dfrac{1}{p_k}\right)\),其中\(n=p_1^{c_1}\cdots p_k^{c_k}\)\(n\)的标准分解式,利用\(\mu(n)\),可得\(\varphi(n)=\sum\limits_{d|n}\mu(d)\dfrac{n}{d}\)

莫比乌斯反演

观察这两个等式
\(\qquad\qquad\qquad\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}\)
考虑将其推广至一般情况

莫比乌斯变换

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

反演公式

若有两个数论函数\(f(n),g(n)\)满足
\(\qquad \qquad \qquad \qquad f(n)=\sum\limits_{d|n}g(d)\qquad \qquad (1)\)
则有
\(\qquad \qquad \qquad \qquad g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right) \qquad \qquad (2)\)
反过来,若满足\((2)\),则\((1)\)也成立。
证明:\(f(n),g(n)\)满足\((1)\),则
\(\qquad \qquad \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}\)
\(\qquad\)反过来,设\(f(n),g(n)\)满足\((2)\),同法可证
\(\qquad \qquad \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}\)

在OI中的应用

通常,在OI竞赛中,应用莫比乌斯反演的关键在于构造如下的式子
\(\qquad \qquad \qquad \qquad \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j))\)
其中\(f(n)\)是一个积性函数。
构造数论函数\(g(n)\)满足\(f(n)=\sum\limits_{d|n}g(d)\)
由莫比乌斯反演公式得\(g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right)\)
化简原式
\(\qquad \qquad \qquad \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)\)
因为\(d|\gcd(i,j)\Leftrightarrow d|i,d|j\),所以\(d\)必须是\(i,j\)的约数
考虑对每个\(d\),枚举\(d\)的倍数,接着化简
\(\qquad \qquad \qquad \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}\)
这样只需要枚举\(d\),就能求出\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(\gcd(i,j))\),时间复杂度为\(O(n)\)
考虑\(\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor\)可以使用数论分块,再预处理一下\(g(n)\)的前缀和,时间复杂度降至\(O(\sqrt n)\)
至于\(g(n)\)的计算,因为\(g(n)=\sum\limits_{d|n}\mu(d)f\left(\dfrac{n}{d}\right)\),而\(f(n),\mu(n)\)为积性函数,所以\(g(n)\)也是积性函数。参考这篇博客\(g(n)\)可以在线性时间内求出。

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

标签:竞赛   span   前缀   log   end   tar   线性   html   线性时间   

原文地址:https://www.cnblogs.com/yydyz/p/10447805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!