莫比乌斯函数与莫比乌斯反演
前言
这玩意无疑是高等数论Oier的必学玩意
身为一名准退役选手,数论一直不行,现在来亡羊补牢。。。似乎已经晚了
\(latex\)根本不会用qwq
感谢大佬的文章,写的很好。自己太菜
若有错误,欢迎指出
正文
-
莫比乌斯函数\(\mu\)
这是反演的基础,本质上是容斥系数的函数。(不理解可以看gzy大佬的blog,
但大佬的文章太强,蒟蒻看不懂啊)设\(d=\Pi_{i=1}^{k}p_i^{a_i}\)
\(\mu(d)=\left\{\begin{matrix} 1& d=1 \\(-1)^k& max(a_i) =1 \\ 0 & otherwise \end{matrix}\right.\)
-
\(\mu\)的一些性质
1.对于任意\(n\in N^+\)有\(\sum_\text{d|n} \mu(d) = [n=1]\)
证明
当\(n=1\)时,\(\mu(1)=1\)
当\(n\geq2\)时
设\(n=\Pi_{i=1}^k {p_i}^{a_i}\)
\(a_i\geq2\)不用管就是0啦
于是我们就是在\(k\)个质因数中选择\(i\)个组成\(d\)
对于\(i\)为奇数时的贡献是\(-1\)
对于\(i\)为偶数时的贡献是\(1\)
即\(\sum_{i=0}^{k} \binom{k}{i}(-1)^i\)=\(\sum_{i=0}^k\binom ki(-1)^i1^{k-i}\)=\((-1+1)^k\)=\(0\)
证毕
2.对于任意\(n\in N^+\)有\(\sum_\text{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)\rightarrow f(n)=\sum_{d|n} \mu(\frac nd)F(d)\)
2.倍数形式
\(F(n) = \sum_{n|d} f(d)\rightarrow f(n)=\sum_{n|d} \mu(\frac dn)F(d)\)
-
例题
常见的应用求\(\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=1]\)