用户工具

站点工具


2020-2021:teams:i_dont_know_png:nikkukun:mobius_inversion

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:i_dont_know_png:nikkukun:mobius_inversion [2020/05/22 20:04]
potassium [SDOI2015 约数个数和]
2020-2021:teams:i_dont_know_png:nikkukun:mobius_inversion [2020/05/26 10:20] (当前版本)
nikkukun add some links
行 46: 行 46:
  
 $$ $$
-(f \times ​g)(n) = \sum _{d \mid n} f(n) \cdot g \left(\dfrac nd \right)+(f g)(n) = \sum _{d \mid n} f(n) \cdot g \left(\dfrac nd \right)
 $$ $$
  
行 99: 行 99:
   * $\sum_{d \mid n} \mu(d) = [n = 1]$   * $\sum_{d \mid n} \mu(d) = [n = 1]$
  
-第一条性质说明 $\mu(n)$ 可以**线性筛**;第二条性质提供了我们一个**当且仅当** $n = 1$ 时计数的函数,因此在遇到对 $\gcd(i, j) = 1$ 的计数问题中通常会用到它。+第一条性质说明 $\mu(n)$ 可以**[[..:​potassium:​sieve#​欧拉筛|线性筛]]**;第二条性质提供了我们一个**当且仅当** $n = 1$ 时计数的函数,因此在遇到对 $\gcd(i, j) = 1$ 的计数问题中通常会用到它。
  
 直接给出代码。 直接给出代码。
行 137: 行 137:
  
 $$ $$
-g = f \times ​+g = f 
 \Leftrightarrow ​ \Leftrightarrow ​
-f = g \times ​\mu+f = g \mu
 $$ $$
  
行 165: 行 165:
 给出一些常用反演: 给出一些常用反演:
  
-  * $\varepsilon = \mu \times ​1$ +  * $\varepsilon = \mu 1$ 
-  * $n = \varphi ​\times ​1 \Leftrightarrow \varphi = n \times ​\mu$+  * $n = \varphi ​1 \Leftrightarrow \varphi = n \mu$
  
  
行 177: 行 177:
 对 $n$ 进行唯一分解 $n = \prod_{i = 1}^m p_i^{k_i}$,则 $n$ 代表了一个高维空间的点 $(k_1, k_2, \ldots, k_m)$,且 $n$ 的所有约数 $d$ 代表的点与 $(k_1, k_2, \ldots, k_m)$ 的关系都是一个高维偏序关系。因此若有 $f = g \times 1$,则 $f$ 实际是 $g$ 的一个高维前缀和。类似地,与 $\mu$ 的狄利克雷卷积可以将这个高维前缀和还原,因此 $\mu$ 实际上是与之相对的高维差分。 对 $n$ 进行唯一分解 $n = \prod_{i = 1}^m p_i^{k_i}$,则 $n$ 代表了一个高维空间的点 $(k_1, k_2, \ldots, k_m)$,且 $n$ 的所有约数 $d$ 代表的点与 $(k_1, k_2, \ldots, k_m)$ 的关系都是一个高维偏序关系。因此若有 $f = g \times 1$,则 $f$ 实际是 $g$ 的一个高维前缀和。类似地,与 $\mu$ 的狄利克雷卷积可以将这个高维前缀和还原,因此 $\mu$ 实际上是与之相对的高维差分。
  
-利用这个性质,在计算类似 $g(n) = (f \times ​\mu)(n)$ 时可以不需要枚举每个 $n$ 的因数 $d$,而只用枚举其质因数 $p_i$,依次利用差分将每个 $p_i$ 对应的维度降下来,可以略微降低复杂度。+利用这个性质,在计算类似 $g(n) = (f \mu)(n)$ 时可以不需要枚举每个 $n$ 的因数 $d$,而只用枚举其质因数 $p_i$,依次利用差分将每个 $p_i$ 对应的维度降下来,可以略微降低复杂度。
  
  
行 215: 行 215:
 令 $f(k)=\sum_{i=1}^n \sum_{j=1}^m [(i,​j)=k]$,$g(k)=\sum_{i=1}^n \sum_{j=1}^m [k \mid (i,​j)]$,则 $f(k)$ 就是我们要求的答案。很明显 $k \mid (i,j) \Leftrightarrow k \mid i\text{ 且 } k\mid j$,因此$g(k)=\left\lfloor \dfrac nk \right\rfloor \left\lfloor \dfrac mk \right\rfloor$。 令 $f(k)=\sum_{i=1}^n \sum_{j=1}^m [(i,​j)=k]$,$g(k)=\sum_{i=1}^n \sum_{j=1}^m [k \mid (i,​j)]$,则 $f(k)$ 就是我们要求的答案。很明显 $k \mid (i,j) \Leftrightarrow k \mid i\text{ 且 } k\mid j$,因此$g(k)=\left\lfloor \dfrac nk \right\rfloor \left\lfloor \dfrac mk \right\rfloor$。
  
-发现 $g(k)=\sum_{d=1}^{\left\lfloor n/k \right\rfloor}f(d ​\times ​k)$,因此有:+发现 $g(k)=\sum_{d=1}^{\left\lfloor n/k \right\rfloor}f(d ​k)$,因此有:
  
 $$ $$
 \begin{aligned} \begin{aligned}
-f(k)=&​\sum_{d=1}^{\left\lfloor n/k \right\rfloor}g(d ​\times ​k)\mu(d) \\+f(k)=&​\sum_{d=1}^{\left\lfloor n/k \right\rfloor}g(d ​k)\mu(d) \\
 =&​\sum_{d=1}^{\left\lfloor n/k \right\rfloor}\left\lfloor \dfrac n{dk} \right\rfloor \left\lfloor \dfrac m{dk} \right\rfloor\mu(d) =&​\sum_{d=1}^{\left\lfloor n/k \right\rfloor}\left\lfloor \dfrac n{dk} \right\rfloor \left\lfloor \dfrac m{dk} \right\rfloor\mu(d)
 \end{aligned} \end{aligned}
行 257: 行 257:
 以下给出一个简单的证明: 以下给出一个简单的证明:
  
-上式显然先决定 $x$ 的取值,再决定 $y$ 的取值。对于一个因子 $p$,若 $p^a \mid i,\ p^b \mid j$,且 $p^{a+b} \mid ij$,则+上式显然先决定 $x$ 的取值,再决定 $y$ 的取值。对于一个因子 $p$,若 $p^a \mid i,\ p^b \mid j$,且 $p^{a+b} \mid ij$,则由于 $(x, y) = 1$,一定有 $\min(a, b) = 0$,故
  
-  * $p^0 \mid x$,则表示 $y$ 可以任意选 $p^1, \ldots, p^b$ 等因子,分别映射到因数 $d \mid p^{a+1}, ​d \mid p^{a+2}, \ldots, ​d \mid p^{a+b}$; +  * $p^0 \mid x$,则表示 $y$ 可以任意选 $p^1, \ldots, p^b$ 等因子,分别映射到因数 $p^{a+1}, p^{a+2}, \ldots, p^{a+b}$; 
-  * $p^1 \mid x, p^2 \mid x, \ldots, p^a \mid x$,则表示 $x$ 可以任意选 $p^1, \ldots, p^a$ 等因子,分别映射到因数 $d \mid p^{1}, ​d \mid p^{2}, \ldots, ​d \mid p^{a}$; +  * $p^1 \mid x, p^2 \mid x, \ldots, p^a \mid x$,则表示 $x$ 可以任意选 $p^1, \ldots, p^a$ 等因子,分别映射到因数 $p^{1}, p^{2}, \ldots, p^{a}$; 
-  * $p^0 \mid x$ 且 $q^0 \mid y$ 等因子,映射到因数 $d \mid p^0$;+  * $p^0 \mid x$ 且 $q^0 \mid y$ 等因子,映射到因数 $p^0$; 
 + 
 +综上,因子 $p^0, p^1, \ldots, p^{a+b}$ 都能被唯一地表示出来且一一对应(双射),因此等式成立。[[..:​potassium:​sieve 
 +#​约数之和|这里]] 提供了另一种关于约数个数和的类似形式证明,但是使用了更合理的映射使得式子易于证明。
  
-综上,因子 $p^0, p^1, \ldots, p^{a+b}$ 都能被唯一地表示出来且一一对应(双射),因此等式成立。 
  
 ===== 练习 ===== ===== 练习 =====
行 338: 行 340:
 此时考虑简化对 $q$ 求和部分。我们发现这部分就是 $\varphi(p)-\sum_{i=1}^{\lceil p / \phi \rceil -1}[(i,​p)=1]$ ,而 $\sum_{i=1}^{n}[(i,​p)=1]$ 很容易反演为 $\sum_{d\mid p}\mu(d)\lfloor\dfrac nd\rfloor$ 。枚举 $p$ 以及 $p$ 的每个因数 $d$ ,由于 $1\sim n$ 约数个数和是 $O(n\log n)$ 的,故复杂度为 $O(\sqrt n \log n)$ 。 此时考虑简化对 $q$ 求和部分。我们发现这部分就是 $\varphi(p)-\sum_{i=1}^{\lceil p / \phi \rceil -1}[(i,​p)=1]$ ,而 $\sum_{i=1}^{n}[(i,​p)=1]$ 很容易反演为 $\sum_{d\mid p}\mu(d)\lfloor\dfrac nd\rfloor$ 。枚举 $p$ 以及 $p$ 的每个因数 $d$ ,由于 $1\sim n$ 约数个数和是 $O(n\log n)$ 的,故复杂度为 $O(\sqrt n \log n)$ 。
  
-[[https://​loj.ac/​article/​1679|这里]] 提供了一个 $O(\sqrt n\log \log \sqrt n)$ 的做法,该做法基于莫比乌斯反演的前缀和和差分意义,使得计算 $g(n) = (f \times ​\mu)(n)$ 时不需要枚举每个 $n$ 的因数 $d$,而只用枚举质因数 $p_i$ 使复杂度略微下降。+[[https://​loj.ac/​article/​1679|这里]] 提供了一个 $O(\sqrt n\log \log \sqrt n)$ 的做法,该做法基于莫比乌斯反演的前缀和和差分意义,使得计算 $g(n) = (f \mu)(n)$ 时不需要枚举每个 $n$ 的因数 $d$,而只用枚举质因数 $p_i$ 使复杂度略微下降。
  
  
行 345: 行 347:
 莫比乌斯反演基本上离不开 GCD 和两个累和符号,而且通常通过将式子化为 $\varepsilon(n)$ 的形式,进而反演成 $\mu(n)$ 并提出相关变量的形式,简化式子进行计算。求解一般通过**数论分块**和预处理 $\mu(n)$ 前缀和的方式在 $O(\sqrt{n})$ 时间内求和。 莫比乌斯反演基本上离不开 GCD 和两个累和符号,而且通常通过将式子化为 $\varepsilon(n)$ 的形式,进而反演成 $\mu(n)$ 并提出相关变量的形式,简化式子进行计算。求解一般通过**数论分块**和预处理 $\mu(n)$ 前缀和的方式在 $O(\sqrt{n})$ 时间内求和。
  
-  * $\varepsilon = \mu \times ​1$,$n = \varphi ​\times ​1$+  * $\varepsilon = \mu 1$,$n = \varphi ​1$
   * 当待分块函数(如 $\mu$)可以单独提出**预处理**时,可以通过此降低时间复杂度。   * 当待分块函数(如 $\mu$)可以单独提出**预处理**时,可以通过此降低时间复杂度。
   * 若多次询问中,分块区域下含有 GCD 的枚举值 $g$ 和 $i$ 或 $j$ 之一,可以通过更换枚举变量改为枚举 $ig$ 或 $jg$ 的值,再枚举 $g$ 加速。(说法很意识流,详见[[https://​blog.sengxian.com/​algorithms/​mobius-inversion-formula|莫比乌斯反演简要笔记 - GCD的幂]])   * 若多次询问中,分块区域下含有 GCD 的枚举值 $g$ 和 $i$ 或 $j$ 之一,可以通过更换枚举变量改为枚举 $ig$ 或 $jg$ 的值,再枚举 $g$ 加速。(说法很意识流,详见[[https://​blog.sengxian.com/​algorithms/​mobius-inversion-formula|莫比乌斯反演简要笔记 - GCD的幂]])
2020-2021/teams/i_dont_know_png/nikkukun/mobius_inversion.1590149043.txt.gz · 最后更改: 2020/05/22 20:04 由 potassium