莫比乌斯反演
Posted asuldb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫比乌斯反演相关的知识,希望对你有一定的参考价值。
先写点东西吧
比如说(mu)函数的性质
首先(mu(1)=1)
之后对于一个数(n),将(n)质因数分解,如果有任何一个质数的的指数超过(1),那么(mu(n)=0)
否则记(n=prod_{i=1}^kp_i),则(mu(n)=(-1)^k)
于是就有了一条非常重要的性质
[sum_{d|n}mu(d)=[n=1]]
显然当(n=1)的时候满足(mu(1)=1)
当(n>1)的时候,我们可以尝试用二项式定理证明一下
将(n)分解质因数,我们由于一个质数选择的次数超过(1),那么对这个(sum)的贡献为(0),所以我们只需要考虑每一个质数被至多选择(1)次的情况
记(n=prod_{i=1}^kp_i^{a_i}),选择了(i)的质数的情况就是(inom{k}{i})种
所以
[sum_{d|n}mu(d)=sum_{i=0}^kinom{k}{i}(-1)^i=sum_{i=0}^kinom{k}{i}(-1)^i*1^{k-i}=(-1+1)^k=0]
之后就是大名鼎鼎的莫比乌斯反演定理
设(F(n),f(n))为两个定义在非负整数集合上的函数
如果存在
[F(n)=sum_{d|n}f(d)]
那么就存在
[f(n)=sum_{d|n}mu(d)F(frac{n}{d})]
也可以写成
[f(n)=sum_{d|n}mu(frac{n}{d})F(d)]
好像看起来就非常神奇的样子,尝试证明一下
[sum_{d|n}mu(d)F(frac{n}{d})=sum_{d|n}mu(d)sum_{i|frac{n}{d}}f(i)=sum_{d|n}sum_{i|frac{n}{d}}mu(d)f(i)]
显然如果(i)是(frac{n}{d})的约数的话,肯定也是(n)的约数
我们考虑一下哪一些(d)能枚举到(i)
因为(i| frac{n}{d}),那么就有
[k imes i=frac{n}{d}]
[k imes i imes d=n]
[k imes d=frac{n}{i}]
所以能枚举到(i)的(d)必须满足(d|frac{n}{i})
于是可以交换一下(sum)
[sum_{d|n}sum_{i|frac{n}{d}}mu(d)f(i)=sum_{i|n}f(i)sum_{d|frac{n}{i}}mu(d)]
又因为(sum_{d|n}mu(d)=[n=1]),所以只有在(i=n)的时候后面的(sum_{d|frac{n}{i}}mu(d)=1),所以这个柿子的值就是(1 imes f(n)=f(n))
所以就证明了(f(n)=sum_{d|n}mu(d)F(frac{n}{d}))
其实还有一种方式的反演,是枚举倍数的反演
[F(n)=sum_{n|d}f(d)]
[f(n)=sum_{n|d}mu(frac{d}{n})F(d)]
主要适用于跟(gcd)相关的反演中,证明在下面的第一个题目里
好像之后这些还不太够,还有一个非常重要的东西——狄利克雷卷积
其实就是有两个数论函数(f,g)我们可以定义
[h(n)=sum_{d|n}f(d)g(frac{n}{d})]
那么就记(f imes g=h),也就是说(f)和(g)的卷积为(h)
狄利克雷卷积有几条非常有用的性质
交换律:(f imes g=g imes f)
结合律:(f imes g imes h=f imes (g imes h))
分配律:定义两个函数的加法为逐项相加,那么就有(f imes(g+h)=f imes g+f imes h)
之后还有三个看上去非常鸡肋,但是实际上非常有用的函数
(?)单位元函数,(?(n)=[n=1]),在狄利克雷卷积里充当单位元的功能,显然对于任意的(f)都存在(f imes ?=f)
(I)恒等函数,(I(n)=1)
(id)单位函数,(id(n)=n)
我们可以从狄利克雷卷积的方法证明莫比乌斯反演
[F(n)=sum_{d|n}f(d)]
写成卷积的形式,也就是(F(n)=sum_{d|n}f(d)*I(frac{n}{d})),也就是(F=f imes I)
我们在两边乘上(mu)
[F imes mu=f imes I imes mu]
显然(I imes mu=sum_{d|n}mu(d)=?)
也就是说(f imes ?=F imes mu)
再写回来
[f(n)=sum_{d|n}mu(d)F(frac{n}{d})]
于是我们又证明了莫比乌斯反演
所以其实莫比乌斯反演本质上就是两个柿子
[F=f imes I]
[f=mu imes F]
通过卷积我们还可以把另一个重要的函数(varphi)和(mu)建立联系
众所周知学反演之前的我就不知道有这样一个奇妙的性质
[sum_{d|n}varphi(d)=n]
其实就是(varphi imes I=id)了
但是这个性质是怎么来的呢
证明一下吧
[varphi(n)=sum_{i=1}^n[(i,n)=1]=sum_{i=1}^nsum_{d|(i,n)}mu(d)]
这就是(mu)的神奇性质,看到诸如([n=1])就可以用(sum_{d|n}mu(d))来代替
显然我们发现(d)是((i,n))的约数就一定是(n)的约数,考虑将(sum)交换,继续化柿子
[varphi(n)=sum_{i=1}^nsum_{d|(i,n)}mu(d)=sum_{d|n}mu(d)sum_{d|i}1=sum_{d|n}mu(d)frac{n}{d}]
发现(frac{n}{d})其实就是(id)啊,于是就得到了(varphi =mu imes id)
根据反演定理,自然有(varphi imes I=id)
之后还有一个并不是非常难证的柿子
[sum_{d|n}frac{mu(d)}{d}=frac{varphi(n)}{n}]
以上是莫比乌斯反演和狄利克雷卷积的理论部分,好像实际做题跟理论也没什么关系
于是做完一道题就来总结一下吧
YY的GCD
Crash的数字表格
[POI2007]ZAP-Queries
[NOI2010]能量采集
[SDOI2014]数表(树状数组维护反演)
于神之怒加强版
[SDOI2015]约数个数和
以及没有什么东西的杜教筛
以上是关于莫比乌斯反演的主要内容,如果未能解决你的问题,请参考以下文章