莫比乌斯函数
对于函数
F
(
n
)
=
Σ
d
∣
n
f
(
d
)
F(n)=\Sigma_{d|n}f(d)
F(n)=Σd∣nf(d) (其中
d
∣
n
d|n
d∣n表示
d
d
d能够被
n
n
n整除),根据定义有
F
(
1
)
=
f
(
1
)
F(1)=f(1)
F(1)=f(1)
F
(
2
)
=
f
(
1
)
+
f
(
2
)
F(2)=f(1)+f(2)
F(2)=f(1)+f(2)
F
(
3
)
=
f
(
1
)
+
f
(
3
)
F(3)=f(1)+f(3)
F(3)=f(1)+f(3)
F
(
4
)
=
f
(
1
)
+
f
(
2
)
+
f
(
4
)
F(4)=f(1)+f(2)+f(4)
F(4)=f(1)+f(2)+f(4)
F
(
5
)
=
f
(
1
)
+
f
(
5
)
F(5)=f(1)+f(5)
F(5)=f(1)+f(5)
F
(
6
)
=
f
(
1
)
+
f
(
2
)
+
f
(
3
)
+
f
(
6
)
F(6)=f(1)+f(2)+f(3)+f(6)
F(6)=f(1)+f(2)+f(3)+f(6)
F
(
7
)
=
f
(
1
)
+
f
(
7
)
F(7)=f(1)+f(7)
F(7)=f(1)+f(7)
F
(
8
)
=
f
(
1
)
+
f
(
2
)
+
f
(
4
)
+
f
(
8
)
F(8)=f(1)+f(2)+f(4)+f(8)
F(8)=f(1)+f(2)+f(4)+f(8)
于是
f
(
1
)
=
F
(
1
)
f(1)=F(1)
f(1)=F(1)
f
(
2
)
=
F
(
2
)
−
F
(
1
)
f(2)=F(2)-F(1)
f(2)=F(2)−F(1)
f
(
3
)
=
F
(
3
)
−
F
(
1
)
f(3)=F(3)-F(1)
f(3)=F(3)−F(1)
f
(
4
)
=
F
(
4
)
−
F
(
2
)
f(4)=F(4)-F(2)
f(4)=F(4)−F(2)
f
(
5
)
=
F
(
5
)
−
F
(
1
)
f(5)=F(5)-F(1)
f(5)=F(5)−F(1)
f
(
6
)
=
F
(
6
)
−
F
(
3
)
−
F
(
2
)
+
F
(
1
)
f(6)=F(6)-F(3)-F(2)+F(1)
f(6)=F(6)−F(3)−F(2)+F(1)
f
(
7
)
=
F
(
7
)
−
F
(
1
)
f(7)=F(7)-F(1)
f(7)=F(7)−F(1)
f
(
8
)
=
F
(
8
)
−
F
(
4
)
f(8)=F(8)-F(4)
f(8)=F(8)−F(4)
我们可以由
F
(
n
)
=
Σ
d
∣
n
f
(
d
)
F(n)=\Sigma_{d|n}f(d)
F(n)=Σd∣nf(d) ,如果已知
F
(
n
)
F(n)
F(n)我们就可以反演推出
f
(
n
)
f(n)
f(n)
公式:
F
(
n
)
=
Σ
d
∣
n
f
(
d
)
⇒
f
(
n
)
=
Σ
d
∣
n
μ
(
d
)
F
(
n
d
)
F(n)=\Sigma_{d|n}f(d)\Rightarrow\ f(n)=\Sigma_{d|n}\mu(d)F(\frac{n}{d})
F(n)=Σd∣nf(d)⇒ f(n)=Σd∣nμ(d)F(dn)
其中的
μ
(
d
)
\mu(d)
μ(d)即为莫比乌斯函数,定义为
- 若 d = 1 d=1 d=1则 μ ( d ) = 1 \mu(d)=1 μ(d)=1
- 若 d = p 1 p 2 p 3 ⋯ p k d=p_{1}p_{2}p_{3}\ \cdots\ p_{k} d=p1p2p3 ⋯ pk,其中 p i p_{i} pi为互异素数,则 μ ( d ) = ( − 1 ) k \mu(d)=(-1)^{k} μ(d)=(−1)k
- 其他情况 μ ( d ) = 0 \mu(d)=0 μ(d)=0
莫比乌斯函数性质
1.对于任意正整数
n
n
n有
Σ
d
∣
n
μ
(
d
)
=
{
1
n=1
0
n>1
\Sigma_{d|n}\mu(d)= \begin{cases} 1 & \text{n=1}\\ 0 & \text{n>1} \end{cases}
Σd∣nμ(d)={10n=1n>1
2.对于任意正整数
n
n
n有
Σ
d
∣
n
μ
(
d
)
d
=
φ
(
n
)
n
\Sigma_{d|n}\frac{\mu(d)}{d}=\frac{\varphi(n)}{n}
Σd∣ndμ(d)=nφ(n)
其中的
φ
(
n
)
\varphi(n)
φ(n)是欧拉函数
3.
μ
(
d
)
为
积
性
函
数
\mu(d)为积性函数
μ(d)为积性函数,也因为它为积性函数所以可以用线性筛求出
求莫比乌斯函数代码
int prime[maxn],mu[maxn],tot = 0;
bool vis[maxn];
void Mobius(int n){
me(vis,false);
mu[1] = 1;
for(int i = 2; i <= n; ++i){
if(!vis[i]) prime[++tot] = i,mu[i] = -1;
for(int j = 1; j <= tot & i*prime[j] <= n; ++j){
vis[i*prime[j]] = true;
if(i%prime[j] == 0){
mu[i*prime[j]] = 0;
break;
}
mu[i*prime[j]] = -mu[i];
}
}
}
莫比乌斯反演
公式:
F
(
n
)
=
Σ
d
∣
n
f
(
d
)
⇒
f
(
n
)
=
Σ
d
∣
n
μ
(
d
)
F
(
n
d
)
F(n)=\Sigma_{d|n}f(d)\Rightarrow\ f(n)=\Sigma_{d|n}\mu(d)F(\frac{n}{d})
F(n)=Σd∣nf(d)⇒ f(n)=Σd∣nμ(d)F(dn)
F
(
n
)
=
Σ
n
∣
d
f
(
d
)
⇒
f
(
n
)
=
Σ
n
∣
d
μ
(
d
n
)
F
(
d
)
F(n)=\Sigma_{n|d}f(d)\Rightarrow\ f(n)=\Sigma_{n|d}\mu(\frac{d}{n})F(d)
F(n)=Σn∣df(d)⇒ f(n)=Σn∣dμ(nd)F(d)
证明:
f
(
n
)
=
Σ
d
∣
n
μ
(
d
)
F
(
n
d
)
=
Σ
d
∣
n
μ
(
d
)
Σ
k
∣
n
d
f
(
k
)
=
Σ
k
∣
n
f
(
k
)
Σ
d
∣
n
k
μ
(
d
)
f(n)=\Sigma_{d|n}\mu(d)F(\frac{n}{d})=\Sigma_{d|n}\mu(d)\Sigma_{k|\frac{n}{d}}f(k)=\Sigma_{k|n}f(k)\Sigma_{d|\frac{n}{k}}\mu(d)
f(n)=Σd∣nμ(d)F(dn)=Σd∣nμ(d)Σk∣dnf(k)=Σk∣nf(k)Σd∣knμ(d)
因为:
Σ
d
∣
n
μ
(
d
)
=
{
1
n=1
0
n>1
\Sigma_{d|n}\mu(d)=\begin{cases}1 & \text{n=1}\\0 & \text{n>1}\end{cases}
Σd∣nμ(d)={10n=1n>1
所以只有
n
=
k
n=k
n=k:
Σ
k
∣
n
f
(
k
)
Σ
d
∣
n
k
μ
(
d
)
=
f
(
k
)
=
f
(
n
)
\Sigma_{k|n}f(k)\Sigma_{d|\frac{n}{k}}\mu(d)=f(k)=f(n)
Σk∣nf(k)Σd∣knμ(d)=f(k)=f(n)
做题方法(套路):
一般题目都是将其转换为
g
c
d
(
x
,
y
)
=
1
gcd(x,y)=1
gcd(x,y)=1的形式求解
令
f
(
x
)
=
∑
i
=
1
n
∑
j
=
1
m
[
g
c
d
(
i
,
j
)
=
=
x
]
f(x)=\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==x]
f(x)=i=1∑nj=1∑m[gcd(i,j)==x]
F
(
x
)
=
∑
x
∣
d
f
(
d
)
F(x)=\sum_{x|d}^{}f(d)
F(x)=x∣d∑f(d)
所以
F
(
x
)
=
∑
x
∣
d
∑
i
=
1
n
∑
j
=
1
m
[
g
c
d
(
i
,
j
)
=
=
d
]
=
∑
i
=
1
n
∑
j
=
1
m
[
x
∣
g
c
d
(
i
,
j
)
]
=
⌊
n
x
⌋
⌊
m
x
⌋
F(x)=\sum_{x|d}^{}\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==d]=\sum_{i=1}^{n}\sum_{j=1}^{m}[x|gcd(i,j)]=\lfloor\cfrac{n}{x}\rfloor\lfloor\cfrac{m}{x}\rfloor
F(x)=x∣d∑i=1∑nj=1∑m[gcd(i,j)==d]=i=1∑nj=1∑m[x∣gcd(i,j)]=⌊xn⌋⌊xm⌋
从而
f
(
x
)
=
∑
x
∣
d
μ
(
d
x
)
F
(
d
)
=
∑
x
∣
d
μ
(
d
x
)
⌊
n
d
⌋
⌊
m
d
⌋
f(x)=\sum_{x|d}^{}\mu(\cfrac{d}{x})F(d)=\sum_{x|d}^{}\mu(\cfrac{d}{x})\lfloor\cfrac{n}{d}\rfloor\lfloor\cfrac{m}{d}\rfloor
f(x)=x∣d∑μ(xd)F(d)=x∣d∑μ(xd)⌊dn⌋⌊dm⌋
一般求
f
(
1
)
f(1)
f(1)
f
(
1
)
=
∑
d
=
1
m
i
n
(
n
,
m
)
μ
(
d
)
⌊
n
d
⌋
⌊
m
d
⌋
f(1)=\sum_{d=1}^{min(n,m)}\mu(d)\lfloor\cfrac{n}{d}\rfloor\lfloor\cfrac{m}{d}\rfloor
f(1)=d=1∑min(n,m)μ(d)⌊dn⌋⌊dm⌋
套路2:
由莫比乌斯定理得
[
g
c
d
(
i
,
j
)
=
=
1
]
=
∑
d
∣
g
c
d
(
i
,
j
)
μ
(
d
)
=
∑
d
∣
i
,
d
∣
j
μ
(
d
)
[gcd(i,j)==1]=\sum_{d|gcd(i,j)}^{}\mu(d)=\sum_{d|i,d|j}^{}\mu(d)
[gcd(i,j)==1]=d∣gcd(i,j)∑μ(d)=d∣i,d∣j∑μ(d)
所以
a
n
s
=
∑
i
=
1
n
∑
j
=
1
m
∑
d
∣
i
,
d
∣
j
μ
(
d
)
ans=\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|i,d|j}^{}\mu(d)
ans=i=1∑nj=1∑md∣i,d∣j∑μ(d)
提贡献:
a
n
s
=
∑
d
=
1
m
i
n
(
n
,
m
)
μ
(
d
)
∑
d
∣
i
n
∑
d
∣
j
m
1
ans=\sum_{d=1}^{min(n,m)}\mu(d)\sum_{d|i}^{n}\sum_{d|j}^{m}1
ans=d=1∑min(n,m)μ(d)d∣i∑nd∣j∑m1
即
a
n
s
=
∑
d
=
1
m
i
n
(
n
,
m
)
μ
(
d
)
⌊
n
d
⌋
⌊
n
d
⌋
ans=\sum_{d=1}^{min(n,m)}\mu(d)\lfloor\cfrac{n}{d}\rfloor\lfloor\cfrac{n}{d}\rfloor
ans=d=1∑min(n,m)μ(d)⌊dn⌋⌊dn⌋
小性质:
d
(
n
m
)
=
∑
i
∣
n
∑
j
∣
m
[
g
c
d
(
i
,
j
)
=
=
1
]
d(nm)=\sum_{i|n}\sum_{j|m}[gcd(i,j)==1]
d(nm)=i∣n∑j∣m∑[gcd(i,j)==1]
其中
d
(
x
)
表
示
x
的
约
数
的
个
数
d(x)表示x的约数的个数
d(x)表示x的约数的个数