莫比乌斯反演

2020/06/13

开坑莫比乌斯反演(只是一个平平无奇的搬运工罢了)。

参考: 莫比乌斯反演 - OI Wiki

积性函数与Dirichlet卷积 - Rogn


前置知识

引理1

\[\forall a, b, c \in \mathbb{Z}, \lfloor \frac{a}{bc} \rfloor = \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} \rfloor \]

证明:

\[\frac{a}{b} = \lfloor \frac{a}{b} \rfloor + r (0 \le r < 1) \]

所以

\[\begin{split} \lfloor \frac{a}{bc} \rfloor &= \lfloor \frac{\lfloor \frac{a}{b} \rfloor + r}{c} \rfloor \\ &= \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} + \frac{r}{c} \rfloor \\ &= \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} \rfloor \end{split} \]

引理2

\[\forall n \in \mathbb{N}, \left| \lfloor \frac{n}{d} \rfloor \mid d\in \mathbb{N} \right| \le 2 \sqrt{n} \]

略证:

对于 \(d \le \sqrt{n}\)\(\lfloor \frac{n}{d} \rfloor\)\(\sqrt{n}\) 种取值;

对于 \(d > \sqrt{n}\),由于 \(\lfloor \frac{n}{d} \rfloor \le \sqrt{n}\),所以也只有 \(\sqrt{n}\) 种取值。

综上,得证。

数论分块

\(\Rightarrow\) 传送门

积性函数

定义

\(\gcd(a,b) = 1\)\(f(xy) = f(x)f(y)\) ,则称 \(f(x)\) 为积性函数。

性质

\(f(x)\)\(g(x)\) 为积性函数,则以下函数也为积性函数:

\[\begin{align} h(x) &= f(x^p) \\ h(x) &= f^p(x) \\ h(x) &= f(x)g(x) \\ h(x) &= \sum \limits_{d\mid x} f(d) g(\frac{x}{d}) \end{align} \]

证明:

前三个显然,下面证明 \(h(x) = \sum \limits_{d\mid x} f(d) g(\frac{x}{d})\) (两个积性函数的 Dirichlet 卷积还是积性函数)

\[\begin{split} h(x)h(y) &= \left( \sum \limits_{d\mid x} f(d) g(\frac{x}{d}) \right) \left( \sum \limits_{d\mid y} f(d) g(\frac{y}{d}) \right) \\ &= \sum \limits_{d\mid xy} f(d) g(\frac{xy}{d}) \\ &= h(xy) \end{split} \]

例子

  1. 单位函数:\(\epsilon(1) = \left[ n = 1 \right]\)

  2. 恒等函数:\(\operatorname{id}_k(n)=n^k\)\(\operatorname{id}_1(n)\) 通常记作 \(\operatorname{id}(n)\)

  3. 常数函数:\(1(n)=1\)

  4. 除数函数:\(\sigma_k(n) = \sum \limits_{d \mid n} d^k\)\(\sigma_0(n)\) 通常记作 \(\operatorname{d}(n)\)\(\tau(n)\) (即约数的个数)\(\sigma_1(n)\) 通常记作 \(\sigma(n)\)

  5. 欧拉函数:\(\varphi(n) = \sum \limits_{i=1}^{n} \left[ \gcd(i,n) = 1 \right]\),即小于等于 \(n\) 的数中与 \(n\) 互质的数的个数

  6. 莫比乌斯函数:\(\mu(n) = \begin{cases} 1 & n=1\\ 0 & \exists d > 1, \operatorname{s.t.} d^2 \mid n \\ -1^{\omega(n)} & otherwise \\ \end{cases}\)

    \(\exists d > 1, \operatorname{s.t.} d^2 \mid n\) 即存在一个质因子出现了两次以上。

    \(\omega(n)\) 表示 \(n\) 的本质不同的质因子的个数。

Dirichlet 卷积

定义

定义两个数论函数的 Dirichlet 卷积为

\[(f \ast g) (x) = \sum \limits_{d \mid x} f(d)g(\frac{x}{d}) \]

性质

Dirichlet 卷积满足交换律和结合律。

其中 \(\varepsilon\) 为 Dirichlet 卷积的单位元,即对任意数论函数 \(f(x)\),都有 \(f(x) \ast \varepsilon = f(x)\)

例子

莫比乌斯函数

定义

\(\mu\) 为莫比乌斯函数,其定义为

\[\mu(n) = \begin{cases} 1, & n=1 \\ 0, & \exists d > 1, \operatorname{s.t.} d^2 \mid n \\ -1^{\omega(n)}, & otherwise \\ \end{cases} \]

性质

莫比乌斯函数是积性函数,且它还有以下性质:

\[\sum \limits_{d \mid n} \mu(d) = \begin{cases} 1, & n = 1 \\ 0, & n \ne 1 \end{cases} \]

\(\sum \limits_{d \mid n} \mu(d) = \varepsilon(n)\),即 \(\mu \ast 1 = \varepsilon\)

证明

\(n = \prod \limits_{i=1}^{k} p_{i}^{c_i}, n'=\prod \limits_{i=1}^{k} p_{i}\)

那么 \(\sum \limits_{d \mid n} \mu(d) = \sum \limits_{d \mid n'} \mu(d) = \sum \limits_{i=1}^{k} \binom{k}{i} \cdot (-1)^{i}\)

根据二项式定理,可以知道 \(\sum \limits_{i=1}^{k} \binom{k}{i} \cdot (-1)^{i} = \left[1+(-1)\right]^{k}\)

所以 \(\sum \limits_{d \mid n} \mu(d)\)\(k=0\) 时等于 \(1\),否则等于 \(0\),即 \(\sum \limits_{d \mid n} \mu(d) = \varepsilon(n)\)

补充结论

反演结论:\(\left[ gcd(i,j) = 1 \right] \iff \sum \limits_{d \mid gcd(i,j)} \mu(d)\)

证明:直接用上面的结论推导即可。

线性筛

线性筛几乎可以筛所有的积性函数,\(\mu\) 也不例外。

void getMu() {
  mu[1] = 1;
  for (int i = 2; i <= N; ++i) {
    if (!vis[i]) p[++tot] = i, mu[i] = -1;
    for (int j = 1; j <= tot && i * p[j] <= N; ++j) {
      vis[i * p[j]] = 1;
      if (i % p[j] == 0) {
        mu[i * p[j]] = 0;
        break;
      }
      mu[i * p[j]] = -mu[i];
    }
  }
}

莫比乌斯反演

定义

对于两个数论函数 \(f(n),g(n)\),若

\[f(n) = \sum \limits_{d \mid n} g(d) \]

\[g(n) = \sum \limits_{d \mid n} \mu(d) f(\frac{n}{d}) \]

证明

法一:运用数论变换

\[\sum \limits_{d \mid n} \mu(d) f(\frac{n}{d}) = \sum \limits_{d \mid n} \mu(d) \sum \limits_{k \mid \frac{n}{d}} g(k) = \sum \limits_{k \mid n} g(k) \sum \limits_{d \mid \frac{n}{k}} \mu(d) \]

然后由 \(\sum \limits_{d \mid n} \mu(d) = \varepsilon(n)\) 可知,只有当 \(n=k\) 时,最后一步中的 \(\sum \limits_{d \mid \frac{n}{k}}\) 才等于 \(1\),所以 \(\sum \limits_{k \mid n} g(k) \sum \limits_{d \mid \frac{n}{k}} \mu(d) = \sum \limits_{d \mid n} \mu(d) f(\frac{n}{d}) = g(n)\)

证毕。

法二:利用卷积

原问题为:已知 \(f = g\ast 1\),证明 \(g = f \ast \mu\)

\(f \ast \mu = g \ast 1 \ast \mu = g\) (其中 \(1\ast \mu = \varepsilon\)

非卷积形式

对于数论函数 \(f,g\) 和完全非积性函数 \(t\),且 \(t(1)=1\),则

\[f(n) = \sum \limits_{i=1}^{n} \mu(i) t(i) g(\lfloor \frac{n}{i} \rfloor) \\ \iff g(n) = \sum \limits_{i=1}^{n} \mu(i) t(i) f(\lfloor \frac{n}{i} \rfloor) \]

证明留作习题。

习题

  1. [HAOI2011]Problem b
  2. [UR #5]怎样跑得更快
posted @ 2020-06-13 10:13  newbielyx  阅读(221)  评论(0编辑  收藏  举报