定义
- f(n)和F(n)都是定义在整数集上的数论函数。
- 第一类莫比乌斯反演
F(n)=∑d|nf(d)
f(n)=∑d|nμ(nd)F(d) - 第二类莫比乌斯反演
F(d)=∑d|nNf(n)
f(d)=∑d|nNμ(nd)F(n) - 本质上是容斥原理
莫比乌斯函数
对于上述公式中的μ(d),它的定义如下:
(1) 若d = 1,那么 μ(d) = 1
(2) 若d = p1p2…pk,pi均为互异素数,那么 μ(d) = (-1)^k
(3) 其他情况 μ(d) = 0
附线性筛求莫比乌斯函数的代码:
bool check[maxn+10];
int prime[maxn+10];
int mu[maxn+10];
void Moblus(){
memset(check,false,sizeof(check));
mu[1] = 1;
int tot = 0;
for(int i = 2; i <= maxn; i++){
if(!check[i]){
prime[tot++] = i;
mu[i] = -1;
}
for(int j = 0; j < tot; j++){
if(i * prime[j] > maxn) break;
check[i * prime[j]] = true;
if( i % prime[j] == 0){
mu[i * prime[j]] = 0;
break;
}
else{
mu[i * prime[j]] = -mu[i];
}
}
}
}