杜教筛

狄利克雷卷积

\(\space\space\space\space\space\space\)定义:两个数论函数f和g的卷积为\((f*g)(n)=\sum_{d|n} f(d)⋅g(\frac{n}{d})\)。前面的括号代表将f卷g,后面的括号代表范围。
\(\space\space\space\space\space\space\)元函数\(ϵ\):满足:\(f∗ϵ=f\)

莫比乌斯函数

\(\space\space\space\space\space\space\)莫比乌斯函数\(\mu\)满足\(\sum_{d|n}μ(d)=[n=1]\),我们用狄利克雷卷积来表示\(μ∗I=ϵ\)

欧拉函数

\(\space\space\space\space\space\space\)欧拉函数有一个性质\(\sum_{d|n}φ(d)=n\),我们用狄利克雷卷积来表示\(φ∗I=id\)

莫比乌斯函数与欧拉函数的关系

\(φ∗I=id\)
\(→φ∗I∗μ=id∗μ\)
\(→φ∗ϵ=id∗μ\)
\(→φ=id∗μ\)
\(→φ(n)=\sum_{d|n}μ(d)\frac nd\)
我们把这个式子的两边同时除以n,则:
\(\frac {φ(n)}{n}=\sum_{d|n} \frac{μ(d)}{d}\)

杜教筛

杜教筛是用低于线性的复杂度来求\(\sum_{i=1}^{n}f(i)\)
我们首先构造两个函数\(g\),\(h\),使其满足\(h=f*g\)
现在我们求\(\sum_{i=1}^{n}h(i)\)
\(\sum_{i=1}^{n}h(i)=\sum_{i=1}^{n}\sum_{d|i}g(d)⋅f(\frac{i}{d})\)
\(=\sum_{d=1}^{n}g(d)⋅\sum_{i=1}^{⌊nd⌋}f(i)\)

\(\sum_{i=1}^{n}h(i)=\sum_{d=1}^{n}g(d)⋅S(⌊nd⌋)\)
我们将右边式子的第一项给提出
\(\sum_{i=1}^{n}h(i)=g(1)⋅S(n)+\sum_{d=2}^{n}g(d)⋅S(⌊nd⌋)\)
\(g(1)S(n)=\sum_{i=1}^{n}h(i)−\sum_{d=2}^{n}g(d)⋅S(⌊nd⌋)\)
其中\(h(i)=(f∗g)(i)\)
根据这个式子,我们只要\(h(i)\)的前缀和很好求,就可以对后面的式子用整除分块在\(O(n^{\frac{2}{3}})\)的时间内快速求解

posted @ 2018-12-06 14:49  wls001  阅读(193)  评论(0编辑  收藏  举报