莫比乌斯函数总结
Posted heyuhhh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫比乌斯函数总结相关的知识,希望对你有一定的参考价值。
莫比乌斯函数总结
性质:\(\sum_d|n\mu(d)=[n==1]\)
这个可以用组合数的性质来证,形象点的话就是杨辉三角。
因为恒等式:\(\sum_i=0^n(-1)^nC_n^i=0\).
莫比乌斯反演:
形式一:
已知:\(g(n)=\sum_d|nf(d)\),则有:\(f(n)=\sum_d|n\mu(d)g(\fracnd)\).
证明如下:
\[
\sum_d|n\mu(d)g(\fracnd)=\sum_d|n\mu(d)\sum_k|\fracndf(k)
\]
交换求和次序,有:
\[
\sum_d|n\mu(d)\sum_k|\fracndf(k)=\sum_k|nf(k)\sum_d|\fracnk\mu(d)=\sum_k|nf(k)[\fracnk=1]=f(n)
\]
故得证.
形式二:
已知:\(g(n)=\sum_n|df(d)\),则有:\(f(n)=\sum_n|d\mu(\fracdn)g(d)\).
证明如下:
令\(k=\fracdn\),则有:
\[\sum_n|d\mu(\fracdn)g(d)=\sum_k=1^\infty\mu(k)g(nk)=\sum_k=1^\infty\mu(k)\sum_nk|tf(t)\]
交换求和次序,有:
\[
\sum_k=1^\infty\mu(k)\sum_nk|tf(t)=\sum_n|tf(t)\sum_k|\fractn\mu(k)=\sum_n|tf(t)[\fractn=1]=f(n)
\]
故得证.
常用技巧(应用):
一个性质:
\[
\lfloor\frac\lfloor\fracxa\rfloorb\rfloor=\lfloor\fracxab\rfloor
\]
证明如下:
令\(y=\lfloor\fracxa\rfloor,z=\lfloor\fracxab\rfloor\),显然有:\(x=zab+c,c\leq ab\).
等式两边同时除以\(a\)并向下取整有:\(y=zb+\lfloor\fracca\rfloor\).
再同时除以\(b\)并向下取整:\(\lfloor\frac\lfloor\fracxa\rfloorb\rfloor=z+\lfloor\frac\lfloor\fracca\rfloorb\rfloor\).
之后就比较显然了。
例一:
求:\(\sum_i=1^n\sum_j=1^m[gcd(i,j)=1]\).
\[
\sum_i=1^n\sum_j=1^m[gcd(i,j)=1]=\sum_i=1^n\sum_j=1^m\sum_d|gcd(i,j)\mu(d)=\sum_i=1^n\sum_j=1^m\sum_d|i,d|j\mu(d)
\]
说明一下:从第一步到第二步多出来一个和式,就相当于一个容斥的过程,考虑所有的\((i,j)\),对于他们的\(gcd\)来进行容斥:先加上所有的情况,然后减去\(gcd\)为\(2,3,5...\)倍数的情况,但会多减,所以加回来。
之后再进行变换得:
\[
\sum_d\mu(d)\sum_i=1^n\sum_d|i\sum_j=1^m\sum_d|j1=\sum_d\mu(d)\lfloor\fracnd\rfloor\lfloor\fracmd\rfloor
\]
后面的部分直接整除分块,然后预处理\(\mu\)的前缀和就行了。
例二:
求:\(\sum_i=1^n\sum_j=1^mgcd(i,j)\)
这个和第一个比较类似,我们变化一下就有:
\[
\sumd\sum_i=1^n\sum_j=1^m[gcd(i,j)=d]=\sumd\sum_i=1^\fracnd\sum_j=1^\fracmd[gcd(i,j)=1]
\]
根据例一得:
\[
\sumd\sum_i=1^\fracnd\sum_j=1^\fracmd[gcd(i,j)=1]=\sumd\sum_t\mu(t)\lfloor\fracndt\rfloor\lfloor\fracmdt\rfloor
\]
令\(T=dt\),则上式可化为:
\[
=\sum\fracTt\sum_t\mu(\fracTd)\lfloor\fracnT\rfloor\lfloor\fracmT\rfloor=\sum_T\lfloor\fracnT\rfloor\lfloor\fracmT\rfloor\sum_t|T\mu(t)\fracTt=\sum_T\lfloor\fracnT\rfloor\lfloor\fracmT\rfloor\varphi(T)
\]
说说为什么最后转化为了欧拉函数:
欧拉函数有个十分有用的性质:\(\sum_d|n\varphi(d)=n\),证明的话主要从\(f(n)=\sum_d|n\varphi(d)\)这个函数为积性函数入手。同时还有一个性质也比较有用:\(\varphi(p^m)=p^m-p^m-1\)。
有了这个式子反演一下就有:
\[
\varphi(n)=\sum_d|n\mu(d)\fracnd
\]
对于例二,整除分块+预处理欧拉函数就行了。
相关例题:
留坑待补
以上是关于莫比乌斯函数总结的主要内容,如果未能解决你的问题,请参考以下文章