莫比乌斯反演

(以下除号皆表示整除)
对于一些式子复杂度大的数论题,或许用莫比乌斯反演可以高效解决问题。

前置技能:

  • 基本数论函数

  • 狄利克雷卷积

莫比乌斯函数满足 \(\mu \times I = \epsilon\)

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

表达式为:

\[ n = 0 : \mu(n) = 1 \] \[ n = \prod_{p|n\,and\,p\,is\,prime} p : \mu(n)=(-1)^k \] \[ otherwise : \mu(n)=0 \]

证明:
暂时不会

莫比乌斯反演:
对于数论函数 \(f(n)\) ,设 \(F(n) = \sum_{d|n}f(d)\)
\(F = f \times I\)
则有 \(f(n) = \sum_{d|n}F(d)\cdot\mu(\frac{n}{d})\)
\(f = F \times \mu\)

证明:

\[ \because \; F = f\cdot I \] \[ \therefore \; F\cdot \mu = f\cdot I\cdot \mu \] \[ \because \; I\cdot \mu = \epsilon \] \[ \therefore \; F\cdot \mu = f\cdot \epsilon \] \[ \therefore \; f = F\cdot \mu \]

莫比乌斯反演好像主要是用来推式子,F 比 f 好做的话,就可以试试莫比乌斯反演。

另外事实上只需要熟知 \(\mu\) 函数的性质,直接推式子就行了,
绝大多数情况下(至少是我遇到的所有情况下)并不需要莫比乌斯反演。

另外莫比乌斯反演有个很简单的 \(O(nlogn)\) 实现,不需要筛 \(\mu\) ,直接按定义枚举每个数的倍数去筛即可。