莫比乌斯反演
莫比乌斯反演是数论中的重要内容。对于一些函数\(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\)指的便是仅仅只出现过一次的质因子的总个数。
- 当存在\(i \in [1,k]\),使得\(c_i > 1\)时,\(\mu(n) = 0\),也就是说只要某个质因子出现的次数超过一次,\(\mu(n)\)就等于0;
性质
莫比乌斯函数不但是积性函数,还有如下性质:
\[
\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\))。
来源:https://www.cnblogs.com/excellent-zzy/p/12305769.html