一、莫比乌斯函数
定义
设正整数
n
n
n 分解质因数为
n
=
p
1
c
1
p
2
c
2
…
p
m
c
m
n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}
n=p1c1p2c2…pmcm,定义函数
μ
(
n
)
=
{
0
∃
i
∈
[
1
,
m
]
,
c
i
>
1
1
m
≡
0
(
m
o
d
2
)
,
∀
i
∈
[
1
,
m
]
,
c
i
=
1
−
1
m
≡
1
(
m
o
d
2
)
,
∀
i
∈
[
1
,
m
]
,
c
i
=
1
\mu(n)=\begin{cases}0&\exists i\in [1,m],\:c_i>1\\1&m\equiv 0 \pmod 2,\:\forall i \in [1,m],\:c_i=1\\-1&m\equiv 1 \pmod 2,\:\forall i \in [1,m],\:c_i=1\end{cases}
μ(n)=⎩
⎨
⎧01−1∃i∈[1,m],ci>1m≡0(mod2),∀i∈[1,m],ci=1m≡1(mod2),∀i∈[1,m],ci=1
称
μ
(
n
)
\mu(n)
μ(n) 为莫比乌斯函数
特别地,
μ
(
1
)
=
1
\mu(1)=1
μ(1)=1
性质
- 对于任意的正整数 n n n,有 ∑ d ∣ n μ ( d ) = [ n = 1 ] \sum\limits_{d\mid n}{\mu(d)}=[n=1] d∣n∑μ(d)=[n=1]
- 莫比乌斯函数是积性函数,即 a , b a,b a,b 互质时, μ ( a b ) = μ ( a ) μ ( b ) \mu(ab)=\mu(a)\mu(b) μ(ab)=μ(a)μ(b)
计算
回顾 欧拉函数与积性函数专题,很明显莫比乌斯函数可以使用线性筛求解
void primes(int n)
{
mu[1]=1;
for(int i=2; i<=n; i++)
{
if(!v[i])
{
v[i]=i;
prime[++tot]=i;
mu[i]=-1;
}
for(int j=1; j<=tot; j++)
{
if(prime[j]>v[i] || prime[j]>n/i)
break;
v[i*prime[j]]=prime[j];
if(i%prime[j]==0)
break;
mu[i*prime[j]]=-mu[i];
}
}
}
二、整除分块
整除分块是用于解决整除求和问题 ∑ i = 1 n ⌊ n i ⌋ \sum\limits_{i=1}^n{\left\lfloor\frac{n}{i}\right\rfloor} i=1∑n⌊in⌋
- 将 ⌊ n i ⌋ \left\lfloor\frac{n}{i}\right\rfloor ⌊in⌋ 按相同值分块
- 可以证明,分块少于 2 n 2\sqrt{n} 2n 种
for(LL l=1,r; l<=n; l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
三、狄利克雷卷积
定义
两个数论函数
f
(
x
)
,
g
(
x
)
f(x),g(x)
f(x),g(x),则它们的 狄利克雷卷积 得到的结果
h
(
x
)
h(x)
h(x) 定义为:
h
(
x
)
=
∑
d
∣
x
f
(
d
)
g
(
x
d
)
=
∑
a
b
=
x
f
(
a
)
g
(
b
)
h(x)=\sum\limits_{d\mid x}{f(d)g\left(\frac{x}{d}\right)}=\sum\limits_{ab=x}{f(a)g(b)}
h(x)=d∣x∑f(d)g(dx)=ab=x∑f(a)g(b)
性质
- 满足交换律、结合律、分配律
一些其它定义
-
定义 ε ( n ) = [ n = 1 ] ε(n)=[n=1] ε(n)=[n=1]。 ε \varepsilon ε 是狄利克雷卷积运算中的单位元,即对于任何数论函数 f f f,都有 f ∗ ε = f f*\varepsilon=f f∗ε=f
证明: ( f ∗ ε ) ( n ) = ∑ d ∣ n f ( d ) ε ( n d ) = f ( n ) (f*ε)(n)=\sum\limits_{d|n}{f(d)ε(\frac{n}{d})}=f(n) (f∗ε)(n)=d∣n∑f(d)ε(dn)=f(n)
-
定义 i d ( n ) = n id(n)=n id(n)=n
常见结论
-
μ
∗
1
=
ε
\mu * 1=ε
μ∗1=ε
证明: μ ∗ 1 = ∑ d ∣ n μ ( d ) = [ n = 1 ] = ε \mu *1=\sum\limits_{d|n}{\mu(d)}=[n=1]=ε μ∗1=d∣n∑μ(d)=[n=1]=ε
-
φ
∗
1
=
i
d
\varphi *1=id
φ∗1=id
证明: φ ∗ 1 = ∑ d ∣ n φ ( d ) = n = i d \varphi*1=\sum\limits_{d|n}{\varphi(d)}=n=id φ∗1=d∣n∑φ(d)=n=id
-
i
d
∗
μ
=
φ
id * \mu =\varphi
id∗μ=φ
证明:
∵ i d ∗ ε = i d \because id*ε=id ∵id∗ε=id
∴ i d ∗ μ ∗ 1 = φ ∗ 1 \therefore id*\mu*1=\varphi*1 ∴id∗μ∗1=φ∗1
∴ i d ∗ μ = φ \therefore id * \mu =\varphi ∴id∗μ=φ
四、莫比乌斯反演
结论
设 f ( n ) , g ( n ) f(n),g(n) f(n),g(n) 为两个数论函数。
-
如果有 f ( n ) = ∑ d ∣ n g ( d ) f(n)=\sum\limits_{d\mid n}g(d) f(n)=d∣n∑g(d),那么有
g ( n ) = ∑ d ∣ n μ ( d ) f ( n d ) g(n)=\sum\limits_{d\mid n}\mu(d)f(\frac{n}{d}) g(n)=d∣n∑μ(d)f(dn)证明:容易看出,数论函数 g ( n ) g(n) g(n) 的莫比乌斯变换,就是将 g ( n ) g(n) g(n) 与 1 1 1 进行狄利克雷卷积。
∵ f = g ∗ 1 \because f=g*1 ∵f=g∗1
∴ f ∗ μ = g ∗ 1 ∗ μ = g ∗ ε = g \therefore f*\mu=g*1*\mu=g*ε=g ∴f∗μ=g∗1∗μ=g∗ε=g -
如果有 f ( n ) = ∑ n ∣ d g ( d ) f(n)=\sum\limits_{n|d}g(d) f(n)=n∣d∑g(d),那么有
g ( n ) = ∑ n ∣ d μ ( d n ) f ( d ) g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d) g(n)=n∣d∑μ(nd)f(d)证明:考虑逆推:
∑ n ∣ d μ ( d n ) f ( d ) \quad \sum\limits_{n|d}{\mu(\frac{d}{n})f(d)} n∣d∑μ(nd)f(d)
= ∑ k = 1 μ ( k ) f ( k n ) =\sum\limits_{k=1}{\mu(k)f(kn)} =k=1∑μ(k)f(kn)
= ∑ k = 1 μ ( k ) ∑ k n ∣ d g ( d ) = \sum\limits_{k=1}{\mu(k)\sum\limits_{kn|d}{g(d)}} =k=1∑μ(k)kn∣d∑g(d)
= ∑ n ∣ d g ( d ) ∑ k ∣ d n μ ( k ) =\sum\limits_{n|d}{g(d)\sum\limits_{k|\frac{d}{n}}{\mu(k)}} =n∣d∑g(d)k∣nd∑μ(k)
= ∑ n ∣ d g ( d ) ϵ ( d n ) = \sum\limits_{n|d}{g(d)\epsilon(\frac{d}{n})} =n∣d∑g(d)ϵ(nd)
= g ( n ) =g(n) =g(n)
应用
关于莫反的习题,详见以后的博客