杜教筛用来求数论函数前缀和。复杂度为 前提 如果我们要求,那么需要找到一个数论函数,满足的前缀和可以非常快速的求出来,并且的前缀和可以非常快速的求出来。 推导 既然的前缀和可以非常快速的求出来,我们就求的前缀和。 即。 然后我们想得到的是。所以我们让上面的式子减去一个。 对于后面这个式子,我们用来代替,就变成了 因为的前缀和可以快速求出,所以直接数论分块,后面的直接递归就好了。 这样我们得到的是,所以答案除以(一般为1)就好了。 例子 以求的前缀和为例。因为,和的前缀和都非常好求,所以我们令为即可。 再来推一下的前缀和。因为,和的前缀和都非常好求,所以还是令 关于预处理 这样直接搜的复杂度是,...