3.7莫比乌斯反演
莫比乌斯反演能够在很多情况下简化运算
莫比乌斯反演定理的引入:F(n)和f(n)均为定义在非负整数集合上的两个函数
那么可以得到结论:
(莫比乌斯定理)
其中,关于莫比乌斯函数u(d)的定义为:
(莫比乌斯函数)
莫比乌斯函数的有以下几个性质:
线性筛法求莫比乌斯函数的代码:
void Init()
{
memset(vis,0,sizeof(vis));
mu[1]=1;
cnt=0;
for(int i=2;i<N;i++)
{
if(!vis[i])
{
prime[cnt++]=i;
mu[i]=-1;
}
for(int j=0;j<cnt&&i*prime[j]<N;j++)
{
vis[i*prime[j]]=1;
if(i%prime[j])mu[i*prime[j]]=-mu[i];
else
{
mu[i*prime[j]]=0;
break;
}
}
}
}
莫比乌斯反演定理的证明:
由F(x)函数的定义得:
(用f(i)的和式组合u(i))
进一步:(每个f(d')都会与u(d)乘一次)
(用u(i)的和式去组合f(i))
莫比乌斯反演有两种形式:
(1)
(2)
(1)和所有的约数有关,(2)和所有的备数有关