杜教筛
杜教筛公式
\[\begin{aligned}
h &= f \ast g
\\
h(i) &= (f \ast g) (i)
\\
&= \sum\limits_{d|i} f(d) g(\frac{i}{d})
\\
\sum\limits_{i=1}^{n} h(i) &= \sum\limits_{i=1}^{n} \sum\limits_{d|i} f(d) g(\frac{i}{d})
\\
&= \sum\limits_{i=1}^{n} \sum\limits_{d|i} g(d) f(\frac{i}{d})
\\
&= \sum\limits_{d=1}^{n} g(d) \sum\limits_{d|i}^{n} f(\frac{i}{d})
\\
&= \sum\limits_{d=1}^{n} g(d) \sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} f(i)
\\
&= \sum\limits _{d=1}^{n} g(d) S(\lfloor \frac{n}{d} \rfloor)
\\
&= \sum\limits_{i=1}^{n} g(i) S(\lfloor \frac{n}{i} \rfloor)
\\
&= g(1) S(n) + \sum\limits_{i=2}^{n} g(i) S(\lfloor \frac{n}{i} \rfloor)
\\
g(1) S(n) &= \sum\limits_{i=1}^{n} h(i) - \sum\limits_{i=2}^{n} g(i) S(\lfloor \frac{n}{i} \rfloor)
\end{aligned}
\]
欧拉函数前缀和
由于 \(n = \sum\limits_{d|n} \varphi(d)\),构造 \(f = \varphi, g = 1\),则 \(h = \varphi \ast 1\),则有:
\[\begin{aligned}
h(i) &= \sum\limits_{d|i} \varphi(d) 1(\frac{i}{d})
\\
&= \sum\limits_{d|i} \varphi(d)
\\
&= i
\\
&= id(i)
\end{aligned}
\]
代入杜教筛公式,得:
\[\begin{aligned}
1(1) S(n) &= \sum\limits_{i=1}^{n} id(i) - \sum\limits_{i=2}^{n} 1(i) S(\lfloor \frac{n}{i} \rfloor)
\\
S(n) &= \sum\limits_{i=1}^{n} i - \sum\limits_{i=2}^{n} S(\lfloor \frac{n}{i} \rfloor)
\\
&= \frac{n(n+1)}{2} - \sum\limits_{i=2}^{n} S(\lfloor \frac{n}{i} \rfloor)
\end{aligned}
\]
观察到式中出现 \(\lfloor \frac{n}{i} \rfloor\) 的形式,可以考虑利用整除分块求解。
莫比乌斯函数前缀和
定理:\(\sum\limits_{d|n} \mu(d) = \varepsilon(n)\)
证明:
对于 \(n=1\),显然有 \(\sum\limits_{d|n} \mu(d) = 1\)
对于其他情况:
设 \(n = \prod\limits_{i=1}^{k} p_i^{c_i},n' = \prod\limits_{i=1}^{k}p_i\)。
由于对于一个 \(n\) 的因数 \(d\),若它的某一个质因数 \(p_i\) 的指数 \(c_i > 1\),则 \(\mu(d) = 0\),对 \(\sum\limits_{d|n} \mu(d)\) 无贡献,可得:
\[\sum\limits_{d|n} \mu(d) = \sum\limits_{d|n'} \mu(d) = \sum\limits_{i=0}^{k} \tbinom{k}{i} (-1)^{i} = \sum\limits_{i=0}^{k} \tbinom{k}{i} (-1)^i 1^{k-i}
\]
根据二项式定理展开,得:
\[\sum\limits_{d|n} \mu(d) = (-1+1)^k = 0^k = 0
\]
所以:
\[\sum\limits_{d|n} \mu(d) =
\left\{
\begin{matrix}
1 \thinspace (n=1)
\\
0 \thinspace (n>1)
\end{matrix}
\right.
= \varepsilon(n)
\]
构造 \(\varepsilon = \mu \ast 1\),则有:
\[\begin{aligned}
1(1) S(n) &= \sum\limits_{i=1}^{n} \varepsilon(i) - \sum\limits_{i=2}^{n} 1(i) S(\lfloor \frac{n}{i} \rfloor)
\\
S(n) &= \sum\limits_{i=1}^{n} \varepsilon(i) - \sum\limits_{i=2}^{n} S(\lfloor \frac{n}{i} \rfloor)
\\
&= 1 - \sum\limits_{i=2}^{n} S(\lfloor \frac{n}{i} \rfloor)
\end{aligned}
\]
例题
求:
\[(\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} i j \gcd(i,j)) \bmod p
\]
先不考虑模数,求:
\[\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} i j \gcd(i,j)
\]
先对 \(\gcd(i,j)\) 进行欧拉反演,变为:
\[\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} i j \sum\limits_{d \mid \gcd(i,j)} \varphi(d)
\]
发现一个数是 \(\gcd(i,j)\) 的因数的充要条件是能够同时整除 \(i\) 和 \(j\),可将式子再次变形得:
\[\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} i j \sum\limits_{d \mid i,d \mid j} \varphi(d)
\]
把内项求和提到最外层,得:
\[\sum\limits_{d=1}^{n} \varphi(d) \sum\limits_{d \mid i}^{n} \sum\limits_{d \mid j}^{n} i j
\]
发现 \(n\) 范围内能被 \(d\) 整除的数有 \(\lfloor \frac{n}{d} \rfloor\) 个,可将式子再次变为:
\[\sum\limits_{d=1}^{n} \varphi(d) \sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} \sum\limits_{j=1}^{\lfloor \frac{n}{d} \rfloor} (i \times d) (j \times d)
\]
将内项的 \(d^2\) 提出来,得:
\[\sum\limits_{d=1}^{n} \varphi(d) \times d^2 \sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} \sum\limits_{j=1}^{\lfloor \frac{n}{d} \rfloor} ij
\]
将内项的 \(i\) 往外提一项,得:
\[\sum\limits_{d=1}^{n} \varphi(d) \times d^2 \sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} i \sum\limits_{j=1}^{\lfloor \frac{n}{d} \rfloor} j
\]
可以发现 \(i\) 和 \(j\) 的范围都一样,且所有取值构成一个等差数列,可再次化简:
\[\sum\limits_{d=1}^{n} \varphi(d) \times d^2 \times (\sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} i)^2
\]
后半部分很好算。对于一个数 \(p\):
\[(\sum\limits_{i=1}^{p} i)^2 = (\frac{p(p+1)}{2})^2 = \frac{p^2 (p+1)^2}{4}
\]
现在考虑怎么求前半部分。既然前半部分带一个平方,那就干脆把平方带进卷积。
设 \(f = \varphi \times id \times id\)。为了把 \(id \times id\) 抵消,所以设 \(g = id \times id\)。
再设 \(h = f \ast g\),则:
\[\begin{aligned}
h(n) &= \sum\limits_{d \mid n} f(d) g(\frac{n}{d})
\\
&=\sum\limits_{d \mid n} \varphi(d) \times d \times d \times \frac{n}{d} \times \frac{n}{d}
\\
&= \sum\limits_{d \mid n} \varphi(d) \times n^2
\\
&= n^2 \sum\limits_{d \mid n} \varphi(d)
\\
&=n^3
\end{aligned}
\]
代入杜教筛公式,有:
\[\begin{aligned}
g(1) S(n) &= \sum\limits_{i=1}^{n} h(i) - \sum\limits_{i=2}^{n} g(i) S(\lfloor \frac{n}{i} \rfloor)
\\
S(n) &= \sum\limits_{i=1}^{n} i^3 - \sum\limits_{i=2}^{n} i^2 S(\lfloor \frac{n}{i} \rfloor)
\end{aligned}
\]
对于一个数 \(p\):
\[\begin{aligned}
\sum\limits_{i=1}^{p} i^3 &= (\sum\limits_{i=1}^{p} i)^2 = (\frac{p(p+1)}{2})^2 = \frac{p^2 (p+1)^2}{4}
\\
\sum\limits_{i=1}^{p} i^2 &= \frac{p(p+1)(2p+1)}{6}
\end{aligned}
\]
则前缀和即为:
\[S(n) = \frac{n^2(n+1)^2}{4} - \sum\limits_{i=2}^{n} i^2 S(\lfloor \frac{n}{i} \rfloor)
\]