运用莫比乌斯反演,我们可以将一些函数转化,从而降低计算难度。在一些于 gcd 相关的算法问题中,莫比乌斯反演非常重要。
狄利克雷卷积
英文名为 Dirichlet 卷积,以下用符号 表示。
狄利克雷卷积单位元记做 ,方括号中的等式成立则值为 ,否则为 。
单位元的意义为:
莫比乌斯函数
函数值:
-
当 时,
-
当 含有次数大于 的质因数时,
-
当 不含次数大于 的质因数时, ,其中 为质因数的个数
函数性质:
证明:
当 不为 时,为了去除 的情况,将 的所有不同质因数乘起来得到 。
因为 所有质因数的次数都是 了,所以枚举其因数就是每个质因数的选与不选。
利用二项式定理,其中 和上文一样表示 中质因数的个数:
当 为 时,显然 就等于 了,所以最后的值为 。
void get_mu(int n){ //线性筛求莫比乌斯函数
mu[1]=1;
for(int i=2;i<=n;i++){
if(!vis[i]){prim[++cnt]=i;mu[i]=-1;}
for(int j=1;j<=cnt&&prim[j]*i<=n;j++){
vis[prim[j]*i]=1;
if(i%prim[j]==0)break;
else mu[i*prim[j]]=-mu[i];
}
}
}
莫比乌斯反演
若 ,那么 。
证明:
将 等号两边同时与 卷积,得到: 。
显然狄利克雷卷积是支持交换律和结合律的,所以变成 。
又因为莫比乌斯函数性质,,和单位元的意义,所以:
例题
参考资料
莫比乌斯反演 (2020), zhihu [online]. Available from: https://zhuanlan.zhihu.com/p/106775790 [Accessed on June 28 2022]
莫比乌斯反演 (2018), cnblogs [online]. Available from: https://www.cnblogs.com/peng-ym/p/8647856.html [Accessed on June 28 2022]