版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jerry99s/article/details/81867641
首先推荐一篇写的很清楚的博客:
https://www.cnblogs.com/peng-ym/p/8647856.html
下面是自己整理的内容:
一、莫比乌斯反演
线性筛_莫比乌斯函数μ:
void get_mu(int n)
{
mu[1]=1;
for(int i=2;i<=n;i++)
{
if(!vis[i]){prim[++cnt]=i;mu[i]=-1;}
//筛质数并标记其μ值为-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];
//i*prim是由i乘一个质数得到的,所以其μ值乘一个-1
}
}
}
二、整除分块
这里证明一个结论: