杜教筛简介

杜教筛简介

%%%唐老师

%%%YYB

前置技能

莫比乌斯反演

用途&过程

在低于线性的时间内求出一些积性函数的前缀和。

假设我们现在要求一个积性函数的前缀和 S(n)=ni=1f(i) S ( n ) = ∑ i = 1 n f ( i )

设一个积性函数 g(i) g ( i )


i=1n(gf)(i)=i=1nd|ig(d)f(id) ∑ i = 1 n ( g ∗ f ) ( i ) = ∑ i = 1 n ∑ d | i g ( d ) f ( i d )

=d=1ng(d)i=1n/df(i) = ∑ d = 1 n g ( d ) ∑ i = 1 n / d f ( i )

=d=1ng(d)S(nd) = ∑ d = 1 n g ( d ) S ( n d )


g(1)S(n)=i=1ng(i)S(ni)i=2ng(i)S(ni) g ( 1 ) S ( n ) = ∑ i = 1 n g ( i ) S ( n i ) − ∑ i = 2 n g ( i ) S ( n i )

=i=1n(gf)(i)i=2ng(i)S(ni) = ∑ i = 1 n ( g ∗ f ) ( i ) − ∑ i = 2 n g ( i ) S ( n i )

对于不同的 f(x) f ( x ) ,我么可以取一个 g(x) g ( x ) 使得卷积前缀和可以快速得出,对后面的那个东西数论分块后递归计算即可。

你可能感兴趣的:(算法/总结/游记,数论---筛法,蒟蒻zxl的Blog专栏)