并不对劲的莫比乌斯反演

Posted xzyf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并不对劲的莫比乌斯反演相关的知识,希望对你有一定的参考价值。

很对劲的莫比乌斯反演 点这里

重要定理1

(mu(x))是一个定义域为全体正整数的函数,它的定义是:
1.当(x=p_1*p_2*...*p_k)(p_1*p_2*...*p_k)为互异质数时,(mu(x)=(-1)^k)
2.当(x=1)时,(mu(x)=1),也可以看成第1种情况中(k=0)
3.当(x)存在一个质因子幂次大于等于2时,(mu(x)=0)
它的定义听上去很奇怪,但是它有一个非常重要的性质:
[sum_{d|n}mu(d)=[n=1]]

即当(n=1)时,[sum_{d|n}mu(d)=1](n eq1)时,[sum_{d|n}mu(d)=0]
证明:
(n=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k})
那么(d)可以看成在这(a_1+a_2+...+a_k)个质数中选择若干个的乘积
发现当(p_1,p_2,...,p_k)中任何一个被选次数超过两次时,(mu(d)=0),对所有(mu(d))之和没有影响,可以不考虑
那么(d)就变成了在(p_1,p_2,...,p_k)中,每个数至多选一次,选出若干个数的乘积
设选择了(m)个数
(m)为偶数时,(mu(d)=1);当(m)为奇数时,(mu(d)=-1)
那么[sum_{d|n}mu(d)=(sum_{i=0}^{lfloorfrac{k}{2} floor}{C_k^{i*2}})-(sum_{i=0}^{lfloorfrac{k-1}{2} floor}{C_k^{i*2+1}})]
[f_0(x)=sum_{i=0}^{lfloorfrac{k}{2} floor}{C_k^{i*2}},f_1(x)=sum_{i=0}^{lfloorfrac{k-1}{2} floor}{C_k^{i*2+1}}]
则有[sum_{d|n}mu(d)=f_0(k)-f_1(k)]
那么问题转化为证明(f_0(k)-f_1(k)=[n=1])
(n=1)时,(k=0)(f_0(k)=1,f_1(k)=0),所以(f_0(k)-f_1(k)=1)
(n eq1)时,
(1)当(k)为奇数时,(f_0(k)=C_k^0+C_k^2+...+C_k^{k-3}+C_k^{k-1},f_1(k)=C_k^1+C_k^3+...+C_k^{k-2}+C_k^{k-0})
根据组合数的性质可得(C_k^x=frac{k!}{x!(k-x)!}=C_k^{k-x})
则有(f_0(k)=f_1(k))
(2)当(k)为偶数且不为0时,考虑从(k)个数中去掉一个数
那么 没有选被去掉的数且选了偶数个数的方案数 和 选了被去掉的数且选了奇数个数的方案数 是相等的, 选了被去掉的数且选了偶数个数的方案数 和 没有选被去掉的数且选了奇数个数的方案数 是相等的
由(1)可得, 没有选被去掉的数且选了偶数个数的方案数 和 没有选被去掉的数且选了奇数个数的方案数 是相等的
那么 选了被去掉的数且选了偶数个数的方案数 和 选了被去掉的数且选了奇数个数的方案数 也是相等的
所以 选了奇数个数的方案数 和 选了偶数个数的方案数 相等,即(f_0(k)=f_1(k))
综上所述,当(n=1)(f_0(k)-f_1(k)=1),当(n eq1)(f_0(k)-f_1(k)=0),证毕

重要定理2

证完这个结论后就可以得到一个莫反常用的结论:
[F(n)=sum_{d|n}f(d)]时,
有:[f(n)=sum_{d|n}mu(d)*F(frac{n}{d})]

证明:
[sum_{d|n}mu(d)*F(frac{n}{d})=sum_{d|n}mu(d)*(sum_{i|frac{n}{d}}f(i))]
那么问题转换为算出(f(i)space(i|frac{n}{d}))的系数
(n=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k})(d=p_1^{b_1}*p_2^{b_2}*...*p_k^{b_k})(i=p_1^{c_1}*p_2^{c_2}*...*p_k^{c_k}),则(forall iin[1,k],c_ileq a_i-b_i)
(b_1,b_2,...,b_k)中存在一个大于1时,(mu(d)=0),对答案没有贡献,不用考虑
那么(forall iin[1,k],b_ileq min(1,a_i-c_i))
(f(i)space(i|{n}))的系数就是(f_0(Sigma min(1,a_i-c_i))-f_1(Sigma min(1,a_i-c_i)))
(i=n)时, (forall iin[1,k],c_i=a_i)(Sigma min(1,a_i-c_i)=0)(f_0(Sigma min(1,a_i-c_i))-f_1(Sigma min(1,a_i-c_i))=1),即(f(n))系数为1
(i eq n)时,(exists iin[1,k],c_i<a_i)(Sigma min(1,a_i-c_i) eq 0)(f_0(Sigma min(1,a_i-c_i))-f_1(Sigma min(1,a_i-c_i))=0),即对于(i eq n)(f(i))的系数为0
所以,[sum_{d|n}mu(d)*F(frac{n}{d})=f(n)]证毕

相关技巧

数论分块

(lfloor frac{n}{i} floor)只有(sqrt{n})种不同的取值,这一点一般用于时间复杂度的证明

求积性函数

先坑着

例题

先坑着

以上是关于并不对劲的莫比乌斯反演的主要内容,如果未能解决你的问题,请参考以下文章

莫比乌斯反演

莫比乌斯反演

莫比乌斯反演总结

数论: 莫比乌斯反演 莫比乌斯函数

莫比乌斯函数/莫比乌斯反演的小笔记

浅谈算法——莫比乌斯反演