莫比乌斯反演

莫比乌斯反演是数论中的重要内容。对于一些函数\(f(n)\),如果汉南直接求出它的值,而容易求出其背书和或约数和\(g(n)\),那么可以通过莫比乌斯反演简化运算,求得\(f(n)\)的值。

我们需要一些前置知识:积性函数、狄利克雷卷积、莫比乌斯函数

前置芝士

引理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 \leq r < 1) \implies \lfloor \frac{a}{bc} \rfloor = \lfloor \frac{a}{b} * \frac{1}{c} \rfloor = \lfloor \frac{1}{c}(\lfloor \frac{a}{b} \rfloor + r) \rfloor = \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} + \frac{r}{c} \rfloor = \lfloor \frac{\lfloor \frac{a}{b} \rfloor}{c} \rfloor \]

引理2

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

\(|A|\)表示集合\(A\)中的元素个数

略证:

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

对于\(d > \lfloor \sqrt{n} \rfloor\),有\(\lfloor \frac{n}{d} \rfloor \leq \lfloor \sqrt{n} \rfloor\) ,也只有\(\lfloor \sqrt{n} \rfloor\)种取值

综上,得证

数论分块

数论分块快的过程大概如下:考虑含有\(\lfloor \frac{n}{i} \rfloor\)的求和式子(\(n\)为常数)

对于任意一个\(i(i \leq n)\),我们需要找到一个最大的\(j(i \leq j \leq n)\),使得\(\lfloor \frac{n}{i} \rfloor = \lfloor \frac{n}{j} \rfloor\)

略证:

\[\lfloor \frac{n}{i} \rfloor \leq \frac{n}{i} \implies \lfloor \frac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor \geq \lfloor \frac{n}{\frac{n}{i}} \rfloor = \lfloor i \rfloor= i \implies i \leq \lfloor \frac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor \]

\(j = \lfloor \frac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor\)

利用上述结论,我们每次以\([i,j]\)为一块,分块求和即可

积性函数

定义

\(gcd(x,y) = 1\)\(f(xy) = f(x)f(y)\),则\(f(n)\)为积性函数

性质

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

\[h(x) = f(x^p)\\ h(x) = f^p(x)\\ h(x) = f(x)g(x)\\ h(x) = \sum_{d|x}f(d)g(\frac{x}{d}) \]

例子

  • 单位函数:\(\epsilon(n) = [n = 1]\)
  • 恒等函数:\(id_k(n) = n^kid_1(n)\)通常简记作\(id(n)\)
  • 常数函数:\(1(n) = 1\)
  • 除数函数:\(\sigma_k(n) = \sum_{k|n}d^k \sigma_0(n)\)通常简记作\(d(n)\)\(\tau(n)\)\(\sigma_1(n)\)通常简记作\(\sigma(n)\)
  • 欧拉函数:\(\varphi(n) = \sum_{i =1}^n[gcd(i,n) = 1]\)
  • 莫比乌斯函数:\(\mu(n) = \begin{cases}1 & n = 1 \\ 0 & \exists d:d^{2} \mid n \\ (-1)^{\omega(n)} & otherwise \end{cases}\)其中\(\omega(n)\)表示\(n\)的本质不同质因子个数,是一个积性函数
    狄利克雷卷积

定义

定义两个数论函数\(f,g\)的狄利克雷卷积为

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

性质

狄利克雷卷积满足交换律和结合律

其中\(\varepsilon\)为狄利克雷卷积的单位元(任何函数卷\(\epsilon\)都为其本身)

例子

\[\varepsilon = \mu * 1 \iff \varepsilon(n) = \sum_{d|n}\mu(d)\\ d = 1*1 \iff d(n) = \sum_{d|n}1 \\ \sigma = d * 1 \iff \sigma(n) = \sum_{d|n}d \\ \varphi = \mu * ID \iff \varphi(n) = \sum_{d|n}d*\mu(\frac{n}{d}) \]

莫比乌斯函数

定义

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

\[\mu(n) = \begin{cases} 1 & n=1\\ 0 &n\text{含有平方因子}\\(-1)^k & k\text{为}n\text{的本质不同质因子个数} \end{cases} \]

详细解释一下:

\(n = \prod_{i = 1}^kp_i^{c_i}\),其中\(p_i\)为质因子,\(c_i \geq 1\)。上述定义表示:

  • \(n = 1\)时,\(\mu(n) = 1\)

  • 对于\(n \not= 1\)时:

    • 当存在\(i \in [1,k]\),使得\(c_i > 1\)时,\(\mu(n) = 0\),也就是说只要某个质因子出现的次数超过一次,\(\mu(n)\)就等于0;
    • 当任意\(i \in [1,k]\),都有\(c_i = 1\)时,\(\mu(n) = (-1)^k\),也就是说每个质因子都仅仅只出现过一次时,即\(n = \prod_{i = 1}^kp_i\)\(\{p_i\}_{i = 1}^k\)中元素唯一时,\(\mu(n)\)等于-1的\(k\)次幂,此处\(k\)指的便是仅仅只出现过一次的质因子的总个数。

性质

莫比乌斯函数不但是积性函数,还有如下性质:

\[\sum_{d|n}\mu(d) = \begin{cases} 1 & n = 1 \\ 0 & n \not= 1 \end{cases} \]

\(\sum_{d|n}\mu(d) = \varepsilon(n)\),即\(\mu * 1 = \varepsilon\)

证明

\(n = \prod_{i = 1}^kp_i^{c_i}\)\(n' = \prod_{i = 1}^kp_i\)

那么\(\sum_{d|n}\mu(d) = \sum_{d|n'}\mu(d) = \sum_{i = 0}^kC^i_k*(-1)^i = (1+(-1))^k\)

根据二项式定理,易知该式子的值在\(k = 0\)\(n = 1\)时值为\(1\)否则为\(0\),这也同时证明力\(\sum_{d|n}\mu(d) = [m = 1] = \varepsilon(n)\)以及\(\mu * 1 = \varepsilon\)

补充结论

反演结论:\([gcd(i,j) = 1] \iff \sum_{d|gcd(i,j)}\mu(d)\)

直接推导

如果看懂了上一个结论,这个结论稍加思考便可以:如果\(gcd(i,j) = 1\)的话,那么代表着我们按上个结论中枚举的那个\(n\)\(1\),也就是式子的值是\(1\),反之,有一个与\([gcd(i,j) = 1]\)相同的值:0

利用\(\varepsilon\)函数

根据上一结论,\([gcd(i,j) = 1]\implies \varepsilon(gcd(i,j))\),讲\(\varepsilon\)展开即可

线性筛

由于\(\mu\)函数为积性函数,因此可以线性筛莫比乌斯函数(线性筛基本可以求所有的积性函数,尽管方法不尽相同)

拓展

证明

\[\varphi*1 = ID(ID函数即f(x)=x) \]

\(n\)分解质因数:\(n = \prod_{i = 1}^kp_i^{c_i}\)

首先,因为\(\varphi\)是积性函数,故只要证明当\(n'=p^c\)\(\varphi * 1 = \sum_{d|n}\varphi(\frac{n'}{d} = ID)\)成立即可。

因为\(p\)是质数,于是\(d = p^0,p^1,p^2,···,p^c\)

易知如下过程:

\[\varphi * 1 = \sum_{d|n}\varphi(\frac{n}{d})\\=\sum_{i = 0}^c\varphi(p^i)\\=1+p^0*(p - 1)+p^1*(p - 1)+···+p^{c - 1}*(p - 1)\\=p^c\\=ID \]

该式子两侧同时卷\(\mu\)可得\(\varphi(n) = \sum_{d|n}*\mu(\frac{n}{d})\)

莫比乌斯反演

\(f(n),g(n)\)为两个数论函数

如果有

\[f(n) = \sum_{d|n}g(d) \]

那么有

\[g(n) = \sum_{d|n}\mu(d)f(\frac{n}{d}) \]

证明

方法一:对原式做数论变换

\[\sum_{d|n}\mu(d)f(\frac{n}{d}) = \sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}g(k) = \sum_{k|n}g(k)\sum_{d|\frac{n}{k}}\mu(d) = g(n) \]

\(\sum_{d|n}g(d)\)来替换\(f(\frac{n}{d})\),再变换求和顺序。最后一步变换的依据:

\(\sum_{d|n}\mu(d) = [n = 1]\),因此在\(\frac{n}{k} = 1\)时第二个和式的值才为\(1\)。此时\(n = k\),故原式等价于\(\sum_{k|n}[n = k]*g(k)=g(n)\)

方法二:运用卷积

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

易知如下转化:\(f*\mu = g * 1 * \mu \implies f* \mu = g\)(其中\(i * \mu = \varepsilon\))。

posted @ 2020-02-13 22:56  优秀的渣渣禹  阅读(180)  评论(0编辑  收藏  举报