Loading docs/math/du-sieves.md +5 −5 Original line number Diff line number Diff line Loading @@ -67,12 +67,12 @@ $$ 那么假如我们可以快速对 $\sum_{i=1}^n(f\times g)(i)$ 求和,并用数论分块求解 $\sum_{i=2}^ng(i)S\left(\left\lfloor\frac{n}{i}\right\rfloor\right)$ 就可以在较短时间内求得 $g(1)S(n)$. ## 【例 1】模板 ## 问题一 ??? note " [P4213【模板】杜教筛(Sum)](https://www.luogu.org/problemnew/show/P4213)" 题目大意:求 $S_1(n)= \sum_{i=1}^{n} \mu(i)$ 和 $S_2(n)= \sum_{i=1}^{n} \varphi(i)$ 的值, $n\le 2^{31} -1$ 。 ### 求解 $\mu$ 前缀和 ### 莫比乌斯函数前缀和 由 **狄利克雷卷积** ,我们知道: Loading @@ -92,7 +92,7 @@ $$ 对于较大的值,需要用 `map` 存下其对应的值,方便以后使用时直接使用之前计算的结果。 ### 求解 $\varphi$ 前缀和 ### 欧拉函数前缀和 当然也可以用杜教筛求出 $\varphi (x)$ 的前缀和,但是更好的方法是应用莫比乌斯反演: Loading @@ -104,7 +104,7 @@ $$ 观察到,只需求出莫比乌斯函数的前缀和,就可以快速计算出欧拉函数的前缀和了。时间复杂度 $O(n^{\frac 2 3})$ 。 ### 使用杜教筛求解 $\varphi$ 前缀和 #### 使用杜教筛求解 求 $S(i)=\sum_{i=1}^n\varphi(i)$. Loading Loading @@ -177,7 +177,7 @@ int main() { } ``` ## 【例 2】简单的数学题 ## 问题二 ??? note " [[LuoguP3768] 简单的数学题](https://www.luogu.org/problemnew/show/P3768)" 大意:求 Loading Loading
docs/math/du-sieves.md +5 −5 Original line number Diff line number Diff line Loading @@ -67,12 +67,12 @@ $$ 那么假如我们可以快速对 $\sum_{i=1}^n(f\times g)(i)$ 求和,并用数论分块求解 $\sum_{i=2}^ng(i)S\left(\left\lfloor\frac{n}{i}\right\rfloor\right)$ 就可以在较短时间内求得 $g(1)S(n)$. ## 【例 1】模板 ## 问题一 ??? note " [P4213【模板】杜教筛(Sum)](https://www.luogu.org/problemnew/show/P4213)" 题目大意:求 $S_1(n)= \sum_{i=1}^{n} \mu(i)$ 和 $S_2(n)= \sum_{i=1}^{n} \varphi(i)$ 的值, $n\le 2^{31} -1$ 。 ### 求解 $\mu$ 前缀和 ### 莫比乌斯函数前缀和 由 **狄利克雷卷积** ,我们知道: Loading @@ -92,7 +92,7 @@ $$ 对于较大的值,需要用 `map` 存下其对应的值,方便以后使用时直接使用之前计算的结果。 ### 求解 $\varphi$ 前缀和 ### 欧拉函数前缀和 当然也可以用杜教筛求出 $\varphi (x)$ 的前缀和,但是更好的方法是应用莫比乌斯反演: Loading @@ -104,7 +104,7 @@ $$ 观察到,只需求出莫比乌斯函数的前缀和,就可以快速计算出欧拉函数的前缀和了。时间复杂度 $O(n^{\frac 2 3})$ 。 ### 使用杜教筛求解 $\varphi$ 前缀和 #### 使用杜教筛求解 求 $S(i)=\sum_{i=1}^n\varphi(i)$. Loading Loading @@ -177,7 +177,7 @@ int main() { } ``` ## 【例 2】简单的数学题 ## 问题二 ??? note " [[LuoguP3768] 简单的数学题](https://www.luogu.org/problemnew/show/P3768)" 大意:求 Loading