莫比乌斯函数

莫比乌斯函数,记作 μ(N)\mu(N)

  • NN 包含相等的质因子时,μ(N)=0\mu(N)=0
  • NN 的所有质因子各不相等且 NN 有偶数个质因子时,μ(N)=1\mu(N)=1
  • NN 的所有质因子各不相等且 NN 有奇数个质因子时,μ(N)=1\mu(N)=-1

1N1\sim N 的莫比乌斯函数

int miu[N];
bool v[N];
void Mobius(int n){
    for(int i=1;i<=n;i++)
        miu[i]=1,v[i]=0;
    for(int i=2;i<=n;i++)
      	if(!v[i]){
             miu[i]=-1;
             for(int j=2*i;j<=n;j+=i)
             	 v[j]=1,miu[i]*=-1*((j/i)%i!=0);
         }
}

时间复杂度 O(nloglogn)O(n\log\log n)

posted @ 2021-08-27 23:01  luckydrawbox  阅读(9)  评论(0)    收藏  举报  来源