莫比乌斯函数与莫比乌斯反演
Posted llcsblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫比乌斯函数与莫比乌斯反演相关的知识,希望对你有一定的参考价值。
前言
这玩意无疑是高等数论Oier的必学玩意
身为一名准退役选手,数论一直不行,现在来亡羊补牢。。。似乎已经晚了
(latex)根本不会用qwq
感谢大佬的文章,写的很好。自己太菜
若有错误,欢迎指出
正文
莫比乌斯函数(mu)
这是反演的基础,本质上是容斥系数的函数。(不理解可以看gzy大佬的blog,
但大佬的文章太强,蒟蒻看不懂啊)设(d=Pi_{i=1}^{k}p_i^{a_i})
(mu(d)=left{egin{matrix} 1& d=1 \\(-1)^k& max(a_i) =1 \\ 0 & otherwise end{matrix} ight.)
(mu)的一些性质
1.对于任意(nin N^+)有(sum_ ext{d|n} mu(d) = [n=1])
证明
当(n=1)时,(mu(1)=1)
当(ngeq2)时
设(n=Pi_{i=1}^k {p_i}^{a_i})
(a_igeq2)不用管就是0啦
于是我们就是在(k)个质因数中选择(i)个组成(d)
对于(i)为奇数时的贡献是(-1)
对于(i)为偶数时的贡献是(1)
即(sum_{i=0}^{k} inom{k}{i}(-1)^i)=(sum_{i=0}^kinom ki(-1)^i1^{k-i})=((-1+1)^k)=(0)
证毕
2.对于任意(nin N^+)有(sum_ ext{d|n}frac{mu(d)}d=frac{phi(n)}n)
证明
不会略3.对于任意质数(p)有(mu(p)=-1)
由定义 (mu(p)=(-1)^1=-1)
关于(mu)的求解
因为(mu)是个积性函数,所以我们可以方便的用线性筛求解
线性筛什么的,以后可能会填一填坑
放一下代码
int mu[N],pri[N],tot; bool npr[N]; void getmu(int n) { memset(npr,0,sizeof npr); tot=0,mu[1]=1; for(int i=2;i<=n;++i) { if(!npr[i])pri[++tot]=i,mu[i]=-1; for(int j=1;j<=tot&&i*pri[j]<=n;++j) { npr[pri[j]*i]=1; if(i%pri[j])mu[i*pri[j]]=-mu[i]; else break; } } }
莫比乌斯反演
这里是重点了qwq
反演的用处在于有一个好求的函数(F(n)),通过它来求关于其约数或倍数(d)的函数(f(d))
反演有两种形式
1.约数形式
(F(n) = sum_{d|n} f(d) ightarrow f(n)=sum_{d|n} mu(frac nd)F(d))
2.倍数形式
(F(n) = sum_{n|d} f(d) ightarrow f(n)=sum_{n|d} mu(frac dn)F(d))
例题
常见的应用求(sum_{i=1}^nsum_{j=1}^m[gcd(i,j)=1])
以上是关于莫比乌斯函数与莫比乌斯反演的主要内容,如果未能解决你的问题,请参考以下文章