莫比乌斯反演
(难得百度爬虫对我这篇垃圾的待重写博客这么友好,赶快重写了)
(还没写完呢,只是重写了之前的内容,还有新增。 2020.05.11)
前置芝士
极高的数学造诣与不怕劳累的精神
正文
莫比乌斯反演是数论数学中很重要的内容,可以用于解决很多组合数学的问题。——「百度百科」
考虑这样两个函数 (F(n),f(n)),它们的关系是 (F(n)=sum_{d|n}f(d))。
我们可以手模出一些函数值如:
(F(1)=f(1))
(F(2)=f(1)+f(2))
(F(3)=f(1)+f(3))
(F(6)=f(1)+f(2)+f(3)+f(6))
我们尝试用 (F(n)) 来表示 (f(n))。
(f(1)=F(1))
(f(2)=F(2)−F(1))
(f(3)=F(3)-F(1))
(f(6)=F(6)−F(3)−F(2)+F(1))
我们发现存在一个这样的关系式:(f(n)=sum_{d|n}F(d)cdot alpha(d)),其中 (alpha(d)) 是一个与 (d) 有关的函数。
-
莫比乌斯函数
定义 (mu(n)) 为 (n) 的莫比乌斯函数。则有
[mu(n)= egin{cases} 1 & n=1\ (-1)^k & n=p_1p_2p_3...p_k,p_i ext{ 为 } n ext{ 的质因子且两两互素} \ 0 & ext{otherwise} end{cases} ]性质一:莫比乌斯函数是积性函数,即对于 (gcd(a,b)=1),有 (mu(ab)=mu(a)mu(b))。
这个感觉挺显然的啊。
根据这个性质我们可以用用线性筛在 (O(n)) 的时间内筛出 (1 sim n) 内所有莫比乌斯函数的值。
性质二:对于任意正整数 (n),有
[sum_{d|n}mu(d)= egin{cases} 1 &n=1\ 0 &n>1 end{cases} ]证明:一个数 (n) 的莫比乌斯函数值不为 (0) 当且仅当 (n) 其质因数分解后所有质因子次数均为 (1)。设 (n)以内共有质数 (k) 个,则含 (r) 个质因子的数有 (inom k r) 个。
于是有 (sum_{d|n}mu(d)=inom k 0-inom k 1+inom k 2+...+(-1)^kinom k k=sum_{i=0}^{k}(-1)^iinom k i)
利用二项式定理可得 (sum_{i=0}^{k}(-1)^iinom k i=sum_{i=0}^{k}inom k i(-1)^i1^i=(-1+1)^k=0),证毕。
猜想莫比乌斯函数与 (alpha(d)) 的关系。
发现在 (f(3)) 与 (f(6)) 的表达式当中 (F(1)) 的系数不相同,于是我们猜想 (alpha(d)=mu(frac n d))。
即
考虑证明。
注意到 (frac n d cdot d) 为定值,所以原式可变形为
我们将 (F(frac n d)) 进行套娃代换,有
根据实际意义我们可以发现 (d|n) 且 (i|frac n d) 与 (dcdot i|n) 等价,即我们只需要保证 ((mu(d),F(i))) 都被统计到答案里面。于是我们将原式进行变形有
交换内外层和式,有
根据整除的实际意义继续变换,有
根据上文提及的性质二,有
于是有
得证。
这就是莫比乌斯反演。
莫比乌斯反演的另一种基本形式
可以用类似的方法证明得到。
这只是一种证明方式,还可以用狄利克雷卷积证明,下次继续写。
未完待续。