【笔记】莫比乌斯反演

过了这么久,今天来重温一下这个知识点 。

前置芝士

容斥函数(\(\mu\)):正版

积性函数(\(\phi\)):经常用到

正题

三个等式

\[\mu * I = \epsilon \]

\[\phi * I = id \]

\[\mu * id = \phi \]

其中 \(I(n) = 1\)\(id(n) = n\)\(\epsilon(n) = \left\{ \begin{array}{**lr**} 1, ~~n = 1 \\ 0, ~~n \not= 1 \end{array} \right.\)

\[\epsilon(n) = \sum_{d \mid n}\mu(d) * I(\frac{n}{d}) = \sum_{d \mid n}\mu(d) \]

\[id(n) = \sum_{d \mid n}\phi(d) * I(\frac{n}{d}) = \sum_{d \mid n}\phi(d) = n \]

\[\phi(n) = \sum_{d \mid n}\mu(d) * id(\frac{n}{d}) \]

满足交换律,结合律,分配率 。

经典问题

问题 1

给定 \(N\)\(M\),求

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} \text{gcd}(i, ~j) \]

解法(推式子)

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} \text{gcd}(i, ~j) \]

  1. 变形

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} id[\text{gcd}(i, ~j)] \]

  1. 增加枚举变量

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} \sum_{d \mid \text{gcd}(i, ~j)} \phi(d) \]

  1. 交换枚举顺序

\[\sum^{\text{min}(N, ~M)}_{d = 1} \sum^{\lfloor \frac{N}{d} \rfloor}_{i = 1} \sum^{\lfloor \frac{M}{d} \rfloor}_{j = 1} \phi(d) \]

  • \(d\)\(i, ~j\)\(\text{gcd}\) 的因子,因此 \(d\) 也是 \(i, ~j\) 的因子,\(i, ~j\)\(d\) 的倍数 。因为 \(\text{gcd}(i, ~j)\) 的最大值为 \(\text{min}(i, ~j)\),所以 \(d\) 的最大值为 \(\text{min}(i, ~j)\)

  • \(d\) 提前后,\(i, ~j\) 的枚举意义不再是枚举数字的值,而是枚举 \(d\) 出现的次数,即原数字 \(i, ~j\)\(d\) 的倍数的次数,因此 \(N, ~M\)\(d\) 并向下取整 。

  1. 删除无用变量

\[\sum^{\text{min}(N, ~M)}_{d = 1} \lfloor \frac{N}{d} \rfloor \lfloor \frac{M}{d} \rfloor \phi(d) \]

接下来用筛法求 \(\phi\) 就好了 。

问题 2

给定 \(N\)\(M\)\(K\),求

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} \text{gcd}(i, ~j) = K \]

解法

\[\sum^{N}_{i = 1} \sum^{M}_{j = 1} \text{gcd}(i, ~j) = K \]

先变形

\[\sum^{\frac{N}{K}}_{i = 1} \sum^{\frac{M}{K}}_{j = 1} \text{gcd}(i, ~j) = 1 \]

众所周知,两个数同时除去它们的 \(\text{gcd}\) 后,剩下的两个数互质,因此令 \(N, ~M\)\(K\),求 \(i, ~j\) 的互质对数 。

接下来再变形

\[\sum^{\frac{N}{K}}_{i = 1} \sum^{\frac{M}{K}}_{j = 1} \epsilon[\text{gcd}(i, ~j)] \]

剩下的步骤就与上一个问题步骤一样了 。

最后

莫反的题都比较板,就是有点费脑子与头发,不过这问题不大,可以自己到洛谷找题,反正裸题重题一大堆,都是经验哦

祝您 RP++,AK NOI!!

posted @ 2021-08-01 10:18  _Scaley  阅读(95)  评论(3编辑  收藏  举报