void getmu()
{
int tot=0;
mu[1]=1;
for(int i=2;i<=maxn;i++)
{
if(!vis[i])
{
prime[++tot]=i;
mu[i]=-1;
}
for(int j=1;prime[j]*i<=maxn;j++)
{
vis[prime[j]*i]=1;
if(i%prime[j]==0)
{
mu[prime[j]*i]=0;
break;
}
mu[prime[j]*i]=-mu[i];
}
}
}
莫比乌斯反演模板
最新推荐文章于 2022-04-02 22:20:30 发布