慢慢看就好了,没有什么难的东西。
\[\text{莫比乌斯反演}\]
\[\text{p1 : 积性函数}\]
定义 :
\(x \perp y\) 且 \(f(x) \times f(y)=f(x \times y)\),\(f\) 为积性函数。
\[\text{p2 : 狄利克雷卷积}\]
定义 :
有任意函数 \(f\) 和 \(g\) , 且卷积 \(h=(f*g)\)。它的样子一般长 :
\[(f*g)(n)\]
\(f,g\) 为两个函数,\(n\) 为参数。 其中 :
\[h(n)=\sum\limits_{d|n} f(d)g(\frac{n}{d})\]
其中 \(\sum\limits_{d|n}\) 中的 \(d\) 代表 \(n\) 的因数,也就是枚举每一个 \(n\) 的因子。
\[h(n)=\sum\limits_{d|n} f(d)g(\left\lfloor\frac{n}{d}\right\rfloor)\]
也有人是这样写的,\(d\) 是 \(n\) 的因数没有影响。
假如 \(f\) 和 \(g\) 都是积性函数,那么 \(h\) 也是积性函数。
证明 :
\[\begin{aligned}h(x) \times h(y) &= \sum\limits_{a|x} f(a)g(\frac{x}{a}) \times \sum\limits_{b|y} f(b)g(\frac{y}{b}) \\&= \sum\limits_{a|x} \sum\limits_{b|y} f(a)g(\frac{x}{a}) \times f(b)g(\frac{y}{b}) \\&= \sum\limits_{a|x} \sum\limits_{b|y} f(a \times b)g(\frac{x \times y}{a \times b}) \\&= \sum\limits_{a \times b|x \times y} f(a \times b)g(\frac{x \times y}{a \times b}) \\&= h(x \times y)\end{aligned}\]
由于 \(a \times b\) 可以构成 \(x \times y\) 的每一个因数,所以等式成立。因为 \(x \perp y\) 所以第 \(3\) 步可以化简为第 \(4\) 步。得证。
狄利克雷卷积满足交换律,结合律,分配律,及 :
\[(f*g)(n)=(g*f)(n)\]
\[(k*(f*g)(n))(n)=(g*(k*f)(n))(n)\]
\[((k(n)+f(n))*g)(n)=(k*g)(n)+(f*g)(n)\]
\[\text{p3 : 莫比乌斯函数}\]
一个正整数 \(n\) 可以写为 \(\sum\limits^m_{i=1} prim_i^{l_i}\) 的形式。
\[\mu(n)=\begin{cases}1 & (n=1) \\0 & (l\{\} >1) \\ (-1)^m & (l\{\} \leq 1)\end{cases}\]
\(\mu\) 是积性函数。假如 \(\mu(x) \times \mu(y)\) 中的一个的 \(l\{\}>1\),那么 \(\mu(x) \times \mu(y)=0\),且 \(\mu(x \times y)=0\)。由于 \(x \perp y\),所以它们不会有公共的质因子,那么如果 \(l_x\{\} \leq 1\) 且 \(l_y\{\} \leq 1\) 的话,那么 \(l_{x \times y}\{\} \leq 1\),\(\mu(x \times y)=1\)。
声明 :
\([A]\) (艾佛森括号) 就是 \(A=\begin{cases}1 & (\text{成立}) \\0 & (\text{不成立}) \end{cases}\) , \([a=x]\) 就是 \(a=\begin{cases}1 & (a=x) \\0 & (a \ne x) \end{cases}\)
积性函数 \(I(x)=1\)。
结论 :
\[\sum\limits_{d|n}\mu(d)=[n=1]\]
证明 : 坑
\[\text{p4 : 莫比乌斯反演}\]
如果有 \(f(n)=\sum\limits_{d|n}g(n)\) , 则有 \(g(n)=\sum\limits_{d|n} f(\frac{n}{d})\ \mu(d)=\sum\limits_{d|n} f(d)\ \mu(\frac{n}{d})\)。
证明 :
\[\begin{aligned} & \sum\limits_{d|n} \mu(d)\ f(\frac{n}{d}) \\ = & \sum\limits_{d|n}\mu(d)\sum\limits_{c|\frac{n}{d}}g(c) \\ = & \sum\limits_{d|n}g(d) \sum\limits_{c|\frac{n}{d}}\mu(c) \\ = & g(n) \end{aligned}\]
最后一步的化简,因为在除了 \(c=1\) 的时候,其它时候都是没有贡献的。那么 \(d=n\),留下贡献 \(g(n)\)。
以及 :
\[\begin{aligned} & \sum\limits_{d|n} f(d)\ \mu(\frac{n}{d}) \\= & \sum\limits_{d|n}\mu(\frac{n}{d})\sum\limits_{c|d}g(c) \\ = &\sum\limits_{d|n}g(d)\sum\limits_{c|d}\mu(\frac{n}{c}) \\ = & g(n) \end{aligned}\]
得证。
以下的分数在没有特殊声明的情况下皆为整除。
\[\text{T1 :}[\gcd(i,j)=x]\]
求 \(\sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} [\gcd(i,j)=x]\)。
\[\begin{aligned} & \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1}\ [\gcd(i,j)=x] \\= & \sum\limits^{\frac{n}{x}}_{i=1} \sum\limits^{\frac{m}{x}}_{j=1}\ [\gcd(i,j)=1] \\= & \sum\limits^{\frac{n}{x}}_{i=1} \sum\limits^{\frac{m}{x}}_{j=1}\ \sum\limits_{d|\gcd(i,j)}\mu(d) \\= & \sum\limits^{\frac{n}{x}}_{i=1} \sum\limits^{\frac{m}{x}}_{j=1}\ \sum\limits^{\gcd(i,j)}_{d=1}\mu(d) \times [d|\gcd(i,j)] \\= & \sum\limits^{\gcd(i,j)}_{d=1}\mu(d)\sum\limits^{\frac{n}{x}}_{i=1} \sum\limits^{\frac{m}{x}}_{j=1}\ [d|\gcd(i,j)] \\= & \sum\limits^{\gcd(i,j)}_{d=1}\mu(d) \times \left\lfloor \frac{\frac{n}{x}}{d} \right\rfloor \times \left\lfloor \frac{\frac{m}{x}}{d} \right\rfloor \\= & \sum\limits^{\min \{n,m\}}_{d=1}\mu(d) \times \left\lfloor \frac{\frac{n}{x}}{d} \right\rfloor \times \left\lfloor \frac{\frac{m}{x}}{d} \right\rfloor \\\end{aligned}\]
第 \(1\) 步化简 : 假设 \(x\) 是 \(\gcd(i,j)\),那么 \(\gcd(\frac{i}{x},\frac{j}{x})=1\),所以我们就可以转化贡献。
第 \(2\) 步简化 : 根据莫比乌斯公式。
第 \(3\) 步简化 : 将 \(d\) 转化为一个一个枚举的模式,乘上贡献。
第 \(4\) 步简化 : 移一下。
第 \(5\) 步简化 : 只有 \(i\) 和 \(j\) 都是 \(d\) 的倍数的时候才可能有贡献,而 \(i\) 是 \(d\) 的倍数的贡献是 \(\frac{i}{d}\)。乘起来即可。
第 \(6\) 步简化 : \(\sum\) 失去上界,拟定一个上界。
变式 \(1\) :
\(\sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} \gcd(i,j)=\sum\limits^{\min\{n,m\}}_{d=1}\sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} [\gcd(i,j)=d]\)
\[\text{T2 :} \gcd(i,j)^x\]
\[\begin{aligned} & \sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} \gcd(i,j)^x \\ = & \sum\limits^{\min\{n,m\}}_{d=1} d^x \sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1}\ [\gcd(i,j)=d] \\ = & \sum\limits^{\min\{n,m\}}_{d=1} d^x \sum\limits^{\frac{n}{d}}_{i=1}\sum\limits^{\frac{m}{d}}_{j=1}\ [\gcd(i,j)=1] \\ = & \sum\limits^{\min\{n,m\}}_{d=1} d^x \sum\limits^{\frac{\min \{n,m\}}{x}}_{c=1}\mu(c) \left\lfloor \frac{\frac{n}{d}}{c} \right\rfloor \left\lfloor \frac{\frac{m}{d}}{c} \right\rfloor \end{aligned}\]
这个式子显然是可以分块套分块达到 \(O(n)\) 的。至于要求询问,太高深,可以看下面的博客。
\[\text{T3 : } ij[\gcd(i,j)=k]\]
\[\begin{aligned} & \sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} i \times j\ [\gcd(i,j)=k] \\= & \sum\limits^{\frac{n}{k}}_{i=1}\sum\limits^{\frac{m}{k}}_{j=1} i j\times k^2 \times [\gcd(i,j)=1] \\= & \sum\limits^{\frac{n}{k}}_{i=1}\sum\limits^{\frac{m}{k}}_{j=1} i jk^2 \sum\limits_{d|\gcd(i,j)} \mu(d) \\= & \sum\limits^{\frac{n}{k}}_{i=1}\sum\limits^{\frac{m}{k}}_{j=1} i jk^2 \sum\limits^{\gcd(i,j)}_{d=1} \mu(d) \times [d|\gcd(i,j)] \\= & \sum\limits^{\min\{\frac{n}{k},\frac{m}{k}\}}_{d=1} \mu(d) \times \sum\limits^{\frac{\frac{n}{k}}{d}}_{i=1}\sum\limits^{\frac{\frac{m}{k}}{d}}_{j=1} i jk^2 \times d^2 \\= & k^2 \times \sum\limits^{\min\{\frac{n}{k},\frac{m}{k}\}}_{d=1}\mu(d)d^2 \sum\limits^{\frac{n}{kd}}_{i=1} i \sum\limits^{\frac{m}{kd}}_{j=1} j \\\end{aligned}\]
第 \(1\) 步化简 : 这题跟 \(\text{T1}\) 不同之处在于它有 \(ij\) 的贡献。这种情况下上界变成 \(\frac{n}{k}\) 和 \(\frac{m}{k}\) 了以后,就要乘上 \(k^2\)。
第 \(4\) 步化简 : 因为有了 \([d|\gcd(i,j)]\),所以乘它的代价就变成了上界 \(\div d\)。那这样子后面的贡献又变小了,再乘 \(d^2\)。
\[\text{T4 : } lcm(i,j)\]
这个东西大概是这个样子的 :
\[\begin{aligned}& \sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} lcm(i,j) \\ = & \sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} \frac{ij}{\gcd(i,j)} \\ = & \sum\limits^{\min\{n,m\}}_{d=1}\sum\limits^{n}_{i=1}\sum\limits^{m}_{j=1} \frac{ij}{d} [\gcd(i,j)=d] \\= & \sum\limits^{\min\{n,m\}}_{d=1}\sum\limits^{\frac{n}{d}}_{i=1}\sum\limits^{\frac{m}{d}}_{j=1} \frac{ij}{d} \sum\limits_{g|\gcd(i,j)} \mu(g) \times d^2 \\ = & \sum\limits^{\min\{n,m\}}_{d=1}\sum\limits^{\frac{n}{d}}_{i=1}\sum\limits^{\frac{m}{d}}_{j=1} ijd \sum\limits_{g|\gcd(i,j)} \mu(g) \\= & \sum\limits^{\min\{n,m\}}_{d=1} \sum\limits^{d}_{g=1} \mu(g) [g|d] \sum\limits^{\frac{n}{d}}_{i=1}\sum\limits^{\frac{m}{d}}_{j=1} ijd \\= & \sum\limits^{\min\{n,m\}}_{d=1} d \sum\limits^{d}_{g=1} \mu(g) \sum\limits^{\frac{n}{d}}_{i=1}\sum\limits^{\frac{m}{d}}_{j=1} ij [g|\gcd(i,j)] \\ = & \sum\limits^{\min\{n,m\}}_{d=1} d \sum\limits^{d}_{g=1} \mu(g) \sum\limits^{\frac{\frac{n}{d}}{g}}_{i=1} i \sum\limits^{\frac{\frac{m}{d}}{g}}_{j=1} j \times g^2 \\ = &\sum\limits^{\min\{n,m\}}_{d=1} d \sum\limits^{d}_{g=1} \mu(g) g^2 \sum\limits^{\frac{n}{dg}}_{i=1} i \sum\limits^{\frac{m}{dg}}_{j=1} j \end{aligned}\]
\[\text{T5 :} d(ij)\]
\(d(x)\) 为 \(x\) 的约数个数。
\[\begin{aligned}& \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} d(i \times j) \\= & \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} \sum\limits_{x|i}\sum\limits_{y|j} [\gcd(x,y)=1] \\= & \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} \sum\limits_{x|i}\sum\limits_{y|j} \sum\limits_{d|\gcd(x,y)} \mu(d) \\= & \sum\limits^{\min\{n,m\}}_{d=1} \mu(d) \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} \sum\limits_{x|i}\sum\limits_{y|j} [d|\gcd(x,y)] \\ = & \sum\limits^{\min\{n,m\}}_{d=1} \mu(d) \sum\limits^{n}_{i=1} \sum\limits^{m}_{j=1} \frac{n}{i} \frac{m}{j} [d|\gcd(x,y)] \\= & \sum\limits^{\min\{n,m\}}_{d=1} \mu(d) \sum\limits^{\frac{n}{d}}_{i=1} \sum\limits^{\frac{m}{d}}_{j=1} \frac{n}{id} \frac{m}{jd} \\= & \sum\limits^{\min\{n,m\}}_{d=1} \mu(d) \sum\limits^{\frac{n}{d}}_{i=1} \frac{n}{id} \sum\limits^{\frac{m}{d}}_{j=1} \frac{m}{jd}\end{aligned}\]
鸣谢:
\(\texttt{An\_Account}\) 、 \(\texttt{GoldenPotato}\)
、 \(\texttt{alpha1022}\)
、 \(\texttt{Sengxian's Blog}\) 莫比乌斯反演简要笔记
\[\text{杜教筛}\]
杜王町到处都是人才
定义积性函数 \(f\),杜教筛的作用是快速求 \(\sum\limits^{n}_{i=1} f(i)\)。
声明 :
定义积性函数 \(g\) , 定义 \(h(n)=(f*g)(n)\) , 那么显然 \(\sum\limits^{n}_{i=1} h(i)=\sum\limits^{n}_{i=1}\sum\limits_{d|i} g(d)f(\frac{i}{d})\)。定义 \(S(n)=\sum\limits^{n}_{i=1} f(i)\)。
\[\begin{aligned} \sum\limits^{n}_{i=1} h(i) = & \sum\limits^{n}_{i=1}\sum\limits_{d|i} g(d)f(\frac{i}{d}) \\\sum\limits^{n}_{i=1} h(i)= & \sum\limits^{n}_{d=1} g(d) \sum\limits^{ \frac{n}{d}}_{i=1}f(i) \\\sum\limits^{n}_{i=1} h(i)= & \sum\limits^{n}_{d=1} g(d)\ S(\frac{n}{d}) \\\sum\limits^{n}_{i=1} h(i)= &g(1) \times S(n)+\sum\limits^{n}_{d=2} g(d)\ S(\frac{n}{d}) \\g(1)S(n)= &\sum\limits^{n}_{i=1} h(i)-\sum\limits^{n}_{d=2} g(d)\ S(\frac{n}{d}) \\S(n)= & \frac{\sum\limits^{n}_{i=1} h(i)-\sum\limits^{n}_{d=2} g(d)\ S(\frac{n}{d})}{g(1)}\end{aligned}\]
第 \(4\) 步化简 : 就是把 \(d=1\) 的贡献提取出来。
随后可以对 \(S(\frac{n}{d})\) 进行迭代即可,就会有一些没有被计算到。杜教筛正是钻了这个空子,达到低于线性的做法。已经计算过的贡献可以用 \(hash\) 或者平衡树存起来。
\[\text{T1 :} \sum \mu\]
如果 \(I(x)=1\),那我们知道 \((\mu * I)(n)=[n=1]\)。我们就把 \(g\) 代为 \(I\),把 \(h\) 代为 \([n=1]\)。
\[\begin{aligned} S(n)= & \frac{\sum\limits^{n}_{i=1} h(i)-\sum\limits^{n}_{d=2} g(d)\ S(\frac{n}{d})}{g(1)} \\= & \frac{1-\sum\limits^{n}_{d=2} S(\frac{n}{d})}{1} \\ = & 1-\sum\limits^{n}_{d=2} S(\frac{n}{d})\end{aligned}\]
时间复杂度为 \(O(n^{\frac{2}{3}})\),复杂度证明 : \(\texttt{Ark}\)。
\[\text{T2 :} \sum \phi\]
如果看过某个大佬的博客应该知道一个被民间定义为欧拉反演的东西,也就是 \((\phi*I)(n)=n\)。
\[\begin{aligned} S(n)= & \frac{\sum\limits^{n}_{i=1} h(i)-\sum\limits^{n}_{d=2} g(d)\ S(\frac{n}{d})}{g(1)} \\= & \frac{\sum\limits^{n}_{i=1} i- \sum\limits^{n}_{d=2} S(\frac{n}{d})}{1} \\= & \frac{i(i+1)}{2}- \sum\limits^{n}_{d=2} S(\frac{n}{d})\end{aligned}\]
鸣谢 :