莫比乌斯反演

先写点东西吧

比如说(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)

狄利克雷卷积有几条非常有用的性质

  1. 交换律:(f imes g=g imes f)

  2. 结合律:(f imes g imes h=f imes (g imes h))

  3. 分配律:定义两个函数的加法为逐项相加,那么就有(f imes(g+h)=f imes g+f imes h)

之后还有三个看上去非常鸡肋,但是实际上非常有用的函数

  1. (ϵ)单位元函数,(ϵ(n)=[n=1]),在狄利克雷卷积里充当单位元的功能,显然对于任意的(f)都存在(f imes ϵ=f)

  2. (I)恒等函数,(I(n)=1)

  3. (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} ]

upd

发现我并不是会那个柿子,于是补一下

把左边那个(n)乘过来

[sum_{d|n}frac{n}{d}mu(d)=varphi(n) ]

发现这个柿子反映的就是(id imes mu=varphi)

这显然是对的,因为(varphi imes I=id),根据反演就有上面那个柿子了

以上是莫比乌斯反演和狄利克雷卷积的理论部分,好像实际做题跟理论也没什么关系

于是做完一道题就来总结一下吧

YY的GCD

Crash的数字表格

[POI2007]ZAP-Queries

[NOI2010]能量采集

[SDOI2014]数表(树状数组维护反演)

于神之怒加强版

[SDOI2015]约数个数和

以及没有什么东西的杜教筛

原文地址:https://www.cnblogs.com/asuldb/p/10205579.html