狄利克雷卷积与莫比乌斯反演入门

数论在 CCF 的考试中一直是比较路边的一部分,但是它真的很有趣,所以写了。

准备

首先介绍一些基本概念。数论函数,是自变量和函数值都为整数的函数。狄利克雷卷积是什么?我们知道,两个数之间可以加减乘除,得到一个新的数。同样两个函数之间也可以进行运算,得到一个新的函数。这个运算就是卷积。狄利克雷卷积的运算符号是 \(*\),\(f*g\) 就表示将 \(f,g\) 这两个函数通过卷积运算得到的新函数。具体地,狄利克雷卷积的定义是:

\[(f*g)(n)=\sum_{d\mid n}f(d)g(\frac{n}{d}) \]

接下来是一些基本数论函数的定义:

  • 单位函数 \(\varepsilon (x)=[x=1]\),其中 \([]\) 是 Iverson 括号。

  • 常数函数 \(1(n)=1\)。

  • 恒等函数 \(\mathrm{id}(n)=n\)

  • 欧拉函数 \(\varphi(n)=\sum\limits_{i=1}^{n}[i \perp n]\)

  • 设 \(n=\prod\limits_{i=1}^{k}p_i^{c_i}\),那么莫比乌斯函数 \(\mu(n)=\begin{cases}1 & n = 1 \\0 &\exists c_i > 1\\(-1)^k & \mathrm{otherwise}\end{cases}\)

前面几个函数看起来都很没用,但是卷积关心的是函数之间的性质,所以应当给这些函数起一个名字。

莫比乌斯反演

莫比乌斯反演的结论是:

\[\varepsilon=\mu*1 \]

也就是:

\[[n=1]=\sum_{d\mid n}\mu(d) \]

设 \(n=\prod\limits_{i=1}^{k}p_i^{c_i}\),设 \(d=\prod\limits_{i=1}^{k}p_i^{q_i},(q_i\le c_i)\),由含平方项的数的 \(\mu\) 为 \(0\) 可以知道,我们只关心那些 \(q_i \le 1\) 的 \(d\)。假设一个 \(d\) 有 \(m\) 个 \(q_i\) 选 \(1\),其余位置选 \(0\),那么它对答案的贡献是 \((-1)^m\)。

当 \(k>0\) 时,

\[\begin{eqnarray} \sum_{d\mid n}\mu(d)&=&\sum_{i=0}^{k}\binom{k}{i}(-1)^i \\ &=&\sum_{i=0}^{k}\binom{k}{i}(-1)^i1^{k-i} \\ &=&(1-1)^k\\ &=&0 \end{eqnarray} \]

\(k=0\) 时,即 \(n=1\) 时,右边的式子显然为 \(1\)。

卷积二

还有一个卷积是

\[\varphi=\mu*\mathrm{id} \]

即

\[\varphi(n)=\sum_{d\mid n}\mu(d)\frac nd \]

设 \(n\) 的不同素因子为 \(p_1,\dots,p_k\)(即 \(n=\prod_{i=1}^{k}p_i^{a_i}\),\(a_i\ge 1\))。\(\varphi(n)\) 是 \(1,\dots,n\) 中与 \(n\) 互素的整数个数。令

\[A_i=\{m\le n:\ p_i\mid m\},\qquad |A_i|=\frac{n}{p_i}. \]

"与 \(n\) 互素" 等价于 "不被任何 \(p_i\) 整除",也就是不属于任何 \(A_i\),于是由容斥原理:

\[\varphi(n)=n-\sum_i|A_i|+\sum_{i<j}|A_i\cap A_j|-\cdots =\sum_{d\mid p_1\cdots p_k}(-1)^{\omega(d)}\frac nd \]

其中:

  • 求和指标 \(d\) 跑遍 \(p_1\cdots p_k\) 的所有因子,也就是跑遍所有无平方因子的 \(d\mid n\);
  • \(\omega(d)\) 表示 \(d\) 的不同素因子的个数(约定 \(\omega(1)=0\))。容斥中"选出 \(j\) 个素因子"的项满足 \(\omega(d)=j\),符号为 \((-1)^{j}\),故 \((-1)^{\omega(d)}\) 正是该项的符号;
  • 交集大小 \(|A_{i_1}\cap\cdots\cap A_{i_j}|=\dfrac{n}{p_{i_1}\cdots p_{i_j}}\) 只依赖对应的无平方因子 \(d=p_{i_1}\cdots p_{i_j}\),这就是 \(\dfrac nd\) 的来源。

而对无平方因子的 \(d\) 有 \(\mu(d)=(-1)^{\omega(d)}\);对含平方因子的 \(d\) 有 \(\mu(d)=0\),把这些 \(d\) 补进求和不会改变和式的值。因此

\[\varphi(n)=\sum_{d\mid n}\mu(d)\frac nd \]

卷积三

把上面两个卷积合在一起,就有

\[\mu*\mathrm{id}*\varepsilon=\varphi*\mu*1 \]

消去 \(\varepsilon,\mu\),有

\[\mathrm{id}=\varphi*1 \]


上面这三个就足够做题了。

posted @ 2026-10-25 19:18  Natho_nA  阅读(12)  评论(0)    收藏  举报