前言
莫比乌斯反演应该是比较难的一类数论题了。
关于它的许多性质,我也不怎么会证明(毕竟我数学差得要命)。
学习这个算法时,在别人的博客中看到一句十分经典的话,在此特将其摘录如下:
E x c e r p t Excerpt Excerpt
那些各种各样的性质与定理,大多是前人几年甚至几十年才得出来的,哪里是你几天就能理解并证明的。
莫比乌斯函数 μ \mu μ
莫比乌斯反演中最重要的自然就是 莫比乌斯函数 μ \mu μ 了。
定义
对于一个正整数 d d d, μ ( d ) \mu(d) μ(d)的定义如下:
μ ( d ) = { 1 d = 1 ( − 1 ) k d = ∏ i = 1 k p i 且 p i 为 互 不 相 同 的 质 数 0 d 含 有 某 个 指 数 ≥ 2 的 质 因 子 \mu(d)=\begin{cases}1&d=1\\(-1)^k&d=\prod_{i=1}^kp_i且p_i为互不相同的质数\\0&d含有某个指数\ge2的质因子\end{cases} μ(d)=⎩⎪⎨⎪⎧1(−1)k0d=1d=∏i=1kpi且pi为互不相同的质数d含有某个指数≥2的质因子
性质
其实,莫比乌斯函数是一个非常有趣的函数,它有许多我不会证明的很有趣的性质。
- 比如, ∑ d ∣ n μ ( d ) = { 1 n = 1 0 n > 1 \sum_{d|n}\mu(d)=\begin{cases}1&n=1\\0&n>1\end{cases} ∑d∣nμ(d)={10n=1n>1,就是一个很常用的性质。
- 再比如,对于任意正整数
n
n
n,
∑
d
∣
n
μ
(
d
)
d
=
ϕ
(
n
)
n
\sum_{d|n}\frac {\mu(d)}d=\frac{\phi(n)}n
∑d∣ndμ(d)=nϕ(n),这个性质就十分复杂了,
把欧拉函数也扯了进来(毕竟这不是本博客的重点内容)。
求莫比乌斯函数
我们可以通过线性筛来求莫比乌斯函数,代码如下:
class Class_Mobius//莫比乌斯反演
{
private:
int Prime_cnt,mu[N+5],Prime[N+5];bool IsNotPrime[N+5];
public:
LL sum[N+5];
Class_Mobius()//预处理
{
register int i,j;
for(mu[1]=1,i=2;i<=N;++i)//求出莫比乌斯函数,首先预处理mu[1]=1
{
if(!IsNotPrime[i]) Prime[++Prime_cnt]=i,mu[i]=-1;//如果当前数是质数,则说明它由一个质因子组成,因此mu[i]=(-1)^1=-1
for(j=1;j<=Prime_cnt&&i*Prime[j]<=N;++j)//筛质数,求mu
if(IsNotPrime[i*Prime[j]]=true,i%Prime[j]) mu[i*Prime[j]]=-mu[i];else break;//因为i*Prime[j]比i多一个质因子,所以mu[i*Prime[j]]=-mu[i]
}
}
}Mobius;
莫比乌斯反演定理
内容
对于定义于非负整数集合上的两个函数 F ( n ) F(n) F(n)和 f ( n ) f(n) f(n),若它们满足 F ( n ) = ∑ d ∣ n f ( d ) F(n)=\sum_{d|n}f(d) F(n)=∑d∣nf(d),则可得 f ( d ) = ∑ d ∣ n μ ( d ) F ( ⌊ n d ⌋ ) f(d)=\sum_{d|n}\mu(d)F(\lfloor\frac nd\rfloor) f(d)=∑d∣nμ(d)F(⌊dn⌋)。
证明
我们可以通过定义来对其进行证明(由于我不会,请自行脑补这一过程)。
其他
实际上,莫比乌斯反演还有一种更常见的形式:
对于定义于非负整数集合上的两个函数
F
(
n
)
F(n)
F(n)和
f
(
n
)
f(n)
f(n),若它们满足
F
(
n
)
=
∑
n
∣
d
f
(
d
)
F(n)=\sum_{n|d}f(d)
F(n)=∑n∣df(d)(注意,请仔细看这个式子,它与上面那个式子长得不一样),则可得
f
(
d
)
=
∑
n
∣
d
μ
(
d
n
)
F
(
d
)
f(d)=\sum_{n|d}\mu(\frac dn)F(d)
f(d)=∑n∣dμ(nd)F(d),其实也是同理的。
例题
推荐几道莫比乌斯反演的例题吧:
例题1: 【洛谷2257】YY的GCD
例题2: 【BZOJ3994】[SDOI2015] 约数个数和
L i n k Link Link
【洛谷2257】YY的GCD 的题解 详见博客 【洛谷2257】YY的GCD(莫比乌斯反演)
【BZOJ3994】[SDOI2015] 约数个数和 的题解 详见博客 【BZOJ3994】[SDOI2015] 约数个数和(莫比乌斯反演)