莫比乌斯函数和莫比乌斯反演
莫比乌斯函数
概念
莫比乌斯函数的定义如下:
- 若 d=1d=1d=1 ,则 μ(d)=1\mu(d)=1μ(d)=1
- 若 d=p1⋅p2⋯pk,pid=p_1\cdot p_2 \cdots p_k,p_id=p1⋅p2⋯pk,pi为互异质数,那么μ(d)=(−1)k\mu(d)=(-1)^kμ(d)=(−1)k 。(注意,p互不相等,也就是说,一个数不能有多个相同的质因子)
- 其他情况下 μ(d)=0\mu(d)=0μ(d)=0 。
性质
对于任意正整数nnn有
∑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. d∣n∑μ(d)={10(n=1)(n>1)
证明:
当n=1n=1n=1时显然
当n>1n>1n>1时
首先将nnn分解成n=p1a1p2a2⋯pkakn=p_1^{a_1} p_2^{a_2}\cdots p_k^{a_k}n=p1a1p2a2⋯pkak
因为在nnn中的所有因子ddd中,只有μ(d)\mu(d)μ(d)不为零的才会计算到答案里,所以说我们设r=p1p2⋯prr=p_1p_2\cdots p_rr=p1p2⋯pr
此时有
∑d∣nμ(d)=Ck0−Ck1+Ck2+⋯+(−1)kCkk=∑i=0k(−1)i⋅Cki\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 d∣n∑μ(d)=Ck0−Ck1+Ck2+⋯+(−1)kCkk=i=0∑k(−1)i⋅Cki
由二项式定理得
(x+y)n=∑i=0nCni⋅xi⋅yn−i(x+y)^n=\sum_{i=0}^n C^i_n\cdot x^i\cdot y^{n-i} (x+y)n=i=0∑nCni⋅xi⋅yn−i
当x=1,y=−1x=1,y=-1x=1,y=−1时
∑i=0nCni⋅(−1)i=∑i=0nCni⋅(−1)i⋅1n−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=0∑nCni⋅(−1)i=i=0∑nCni⋅(−1)i⋅1n−i=(−1+1)n=0
得证
求法
因为莫比乌斯函数是积性函数,所以求莫比乌斯函数可以用线性筛来求。
莫比乌斯反演
形式一
概念
我们设
F(n)=∑d∣nf(d)F(n)=\sum_{d|n} f(d) F(n)=d∣n∑f(d)
此时就有
f(n)=∑d∣nμ(d)⋅F(nd)f(n)=\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d})\\ f(n)=d∣n∑μ(d)⋅F(dn)
这时的式子就是一个狄利克雷卷积,关于狄利克雷卷积,可以看看我的另一篇博客。
证明
f(n)=∑d∣nμ(d)⋅F(nd)f(n)=\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d}) f(n)=d∣n∑μ(d)⋅F(dn)
我们来看看怎样证明莫比乌斯反演中的第一个式子。
首先我们将F(nd)F(\dfrac{n}{d})F(dn)代入式子
∑d∣nμ(d)⋅F(nd)=∑d∣nμ(d)∑k∣ndf(k)\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d})=\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k) d∣n∑μ(d)⋅F(dn)=d∣n∑μ(d)k∣dn∑f(k)
通过和式的变换,我们可以得出
∑d∣nμ(d)∑k∣ndf(k)=∑k∣nf(k)∑d∣nkμ(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) d∣n∑μ(d)k∣dn∑f(k)=k∣n∑f(k)d∣kn∑μ(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. d∣n∑μ(d)={10(n=1)(n>1)
所以只有在kn=1\frac{k}{n}=1nk=1时,∑d∣nkμ(d)=1\sum_{d|\frac{n}{k}}\mu(d)=1∑d∣knμ(d)=1,其余时为零,故
∑k∣nf(k)∑d∣nkμ(d)=f(n)\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)=f(n) k∣n∑f(k)d∣kn∑μ(d)=f(n)
得证
形式二
概念
我们设
F(n)=∑n∣df(d)F(n)=\sum_{n|d} f(d) F(n)=n∣d∑f(d)
此时就有
f(n)=∑n∣dμ(dn)⋅F(d)f(n)=\sum_{n|d}\mu(\frac dn)\cdot F(d)\\ f(n)=n∣d∑μ(nd)⋅F(d)
这一种在推导过程中更常用。
第二个公式和第一个公式乍一看没什么不同,但仔细多看几遍,会发现,你枚举的ddd是nnn的倍数,而形式一中nnn是ddd的倍数。
其实我第一眼看上去,也觉得不可思议,倍数不是有无限个吗?为什么还能成立呢?接下来我们在来证明一下。
证明
首先将F(d)F(d)F(d)代入
∑n∣dμ(dn)⋅F(d)=∑n∣dμ(dn)∑d∣kf(k)\sum_{n|d}\mu(\dfrac{d}{n})\cdot F(d)=\sum_{n|d}\mu(\dfrac{d}{n})\sum_{d|k}f(k) n∣d∑μ(nd)⋅F(d)=n∣d∑μ(nd)d∣k∑f(k)
然后经过和式的变换,有
∑n∣dμ(dn)∑d∣kf(k)=∑n∣kf(k)∑d∣knμ(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) n∣d∑μ(nd)d∣k∑f(k)=n∣k∑f(k)d∣nk∑μ(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. d∣n∑μ(d)={10(n=1)(n>1)
所以只有在kn=1\frac{k}{n}=1nk=1时,∑d∣knμ(d)=1\sum_{d|\frac{k}{n}}\mu(d)=1∑d∣nkμ(d)=1,其余时为零,故
∑n∣kf(k)∑d∣knμ(d)=f(n)\sum_{n|k}f(k)\sum_{d|\frac{k}{n}}\mu(d)=f(n) n∣k∑f(k)d∣nk∑μ(d)=f(n)
得证
例题
例题一
题目描述
求证:
∑d∣nμ(d)⋅nd=ϕ(n)\sum_{d|n}\mu(d)\cdot\frac{n}{d}=\phi(n) d∣n∑μ(d)⋅dn=ϕ(n)
做法
我们先把原式化成如下式子:
∑d∣nμ(nd)⋅Id(d)=ϕ(n)\sum_{d|n}\mu(\frac {n}{d})\cdot Id(d)=\phi(n) d∣n∑μ(dn)⋅Id(d)=ϕ(n)
然后我们将它进行反演。
Id(n)=∑d∣nϕ(d)Id(n)=\sum_{d|n}\phi(d) Id(n)=d∣n∑ϕ(d)
即
n=∑d∣nϕ(d)n=\sum_{d|n}\phi(d) n=d∣n∑ϕ(d)
我们设 f(n)=∑d∣nϕ(d)f(n) = \sum_{d|n}\phi(d)f(n)=∑d∣nϕ(d) ,因为 ϕ\phiϕ 是一个积性函数,所以 f(n)f(n)f(n) 也是一个积性函数。
于是我们将 nnn 分解为 p1a1⋅p2a2⋯pkakp_1^{a_1}\cdot p_2^{a_2}\cdots p_k^{a_k}p1a1⋅p2a2⋯pkak 的形式,其中 ppp 是互异质数。
接下来我们就可以得到:
f(n)=f(p1a1)⋅f(p2a2)⋯f(pkak)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(piai)=∑d∣nphi(d)=ϕ(1)+ϕ(pi)+ϕ(pi2)+⋯+ϕ(piai)=1+(p−1)+(p2−p)+⋯+(pk−pk−1)=pk\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)=d∣n∑phi(d)=ϕ(1)+ϕ(pi)+ϕ(pi2)+⋯+ϕ(piai)=1+(p−1)+(p2−p)+⋯+(pk−pk−1)=pk
所以
f(n)=f(p1a1)⋅f(p2a2)⋯f(pkak)=p1a1⋅p2a2⋯pkak=nf(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)=p1a1⋅p2a2⋯pkak=n
即 n=∑d∣nϕ(d)n=\sum_{d|n}\phi(d)n=∑d∣nϕ(d) 。
莫比乌斯函数和莫比乌斯反演相关推荐
- 数论函数 - 莫比乌斯函数与莫比乌斯反演 - 基础杜教筛
原文链接http://www.cnblogs.com/zhouzhendong/p/8627380.html 省选后发现我数学好差.于是先从数论开始学习. 如果发现本文有任何错误,欢迎留言指正. 本文 ...
- 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演
初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...
- 莫比乌斯函数、莫比乌斯反演
在学习下面的内容之前,最好先掌握:唯一分解定理.欧拉函数.整除分块.数论函数.积性函数.和函数 一.莫比乌斯函数 简介:莫比乌斯函数是一种数论函数,由德国数学家.天文学家莫比乌斯(Möbius ,17 ...
- c莫比乌斯函数_莫比乌斯函数总结
莫比乌斯函数总结 性质:\(\sum_{d|n}\mu(d)=[n==1]\) 这个可以用组合数的性质来证,形象点的话就是杨辉三角. 因为恒等式:\(\sum_{i=0}^{n}(-1)^nC_{n} ...
- 莫比乌斯函数_莫比乌斯环:python-matplotlib可视化实现
1 说明: ===== 1.1 莫比乌斯环:mobius strip,又叫莫比乌斯带. 1.2 公元1858年,德国数学家莫比乌斯(Mobius,1790~1868)和约翰·李斯丁发现. 图片来自网络 ...
- 莫比乌斯函数莫比乌斯反演
莫比乌斯函数:莫比乌斯函数:莫比乌斯函数: (1)若d=1,则μ(d)=1(1)若d=1,则\mu(d)=1(1)若d=1,则μ(d)=1 (2)若d=p1∗p2∗⋯∗pk,其中pi(1≤i≤k)为互 ...
- 【数论】莫比乌斯函数/莫比乌斯反演
目录 莫比乌斯函数 定义 性质 性质1 性质2 线性筛 莫比乌斯反演 形式1 形式2 证明 例题 实战 莫比乌斯函数 定义 莫比乌斯函数的定义可以用一个分段函数简单表示: 对这个定义式做个解释: 当 ...
- [莫比乌斯反演]莫比乌斯函数
莫比乌斯函数定义 μ ( n ) = { 1 n = 1 ( − 1 ) k n = p 1 p 2 p 3 - p k 0 p 2 ∣ n \mu(n)=\begin{cases}1&n=1 ...
- python莫比乌斯_莫比乌斯函数 - osc_7eqzxl4g的个人空间 - OSCHINA - 中文开源技术交流社区...
前导 要学习莫比乌斯函数 需要学习 到 积性函数,深度理解欧拉筛. 先说说什么是积性函数吧. 积性函数 其实积性函数非常好理解, 定义 积性函数:若gcd(a,b)=1,且满足f(ab)=f(a)f( ...
最新文章
- 28本实体书包邮免费送!年前替我领回家!
- FFMPEG使用参数详解
- C++ dlopen mini HOWTO 一篇非常好的介绍C++ dlopen linux/mac os x 编程的资料
- python逗号表达式_python – 如何用位于括号外的逗号分割一个字符串?
- Https背景与证书在spring boot项目中的使用
- LinQ—Lambda表达式
- 小记linux如何挂载window下的共享文件
- java微信测单删,免费查微信单删软件有哪些(推荐靠谱查单删APP)
- laravel 理论
- apollo简易高精度地图制作
- IText_根据模板导出PDF(文字、表格、图片)
- IDEA中文切换回英文
- js html保存word文档,js将页面中指定内容保存到WORD
- 【HTML5】网页实用技巧3:将方形图片设置成圆形后,添加圆形虚线边框
- 国考计算机及其应用科目,2018国家公务员考试专业科目考试大纲(计算机类)
- QCTF - re -babyre(Rust逆向)
- about GLOBAL TEMPORARY TABLES
- Google 2018年Android平台新政策,终于强硬了一回!
- 文本分析 | 管理层讨论信息含量原理与代码实现
- java aot,Java三种编译方式: 前端编译 JIT编译 AOT编译