杜教筛

杜教筛

杜教筛公式

\[\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} \]

例题

洛谷 P3768

求:

\[(\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) \]

posted @ 2024-01-11 17:08  gevenfeng  阅读(31)  评论(0)    收藏  举报