關於d函式的篩法

2022-06-19 18:45:08 字數 1425 閱讀 7642

線性篩篩\(\sigma\)

線性篩篩\(\sigma_0\)

\(p\)是質數,\(\sigma_0(p)=2\)

對於乙個\(i\),如果\(i\)和\(p\)互質,根據積性函式得\(\sigma_0 (i\ast p)=\sigma_0 (i)\ast \sigma_0 (p)\)

如果\(i\)和\(p\)不互質,那麼\(p|i\)

設\(i=\prod_^mp_i^\)

則\(p\ast i=\prod_^mp_i^\ast p_1^\)

\(\frac=\prod_^m p_i^\ast p_1^\)

\(\sigma_0(i)=\prod_^m(r_i+1)\)

\(\sigma_0(i\ast p)=\prod_^m(r_i+1)+(r_1+2)\)

\(\sigma_0(\frac) = \prod_^m(r_i+1)+r_1\)

設\(t=\prod_^m(r_i+1)\)

\(\sigma_0(i)=t\ast (r_1+1)\)

\(\sigma_0(i\ast p)=t\ast (r_1+2)=\sigma_0(i)+t\)

\(\sigma_0(\frac)=t\ast r_1=\sigma_0(i)-t\)

可得\(\sigma_0(i\ast p)=2\ast \sigma_0(i)-\sigma_0(\frac)\)

線性篩篩\(\sigma\)

\(p\)是質數,\(\sigma(p)=p+1\)

對於乙個\(i\),如果\(i\)和\(p\)互質,根據積性函式得\(\sigma(i\ast p)=\sigma(i)\ast \sigma(p)\)

如果\(i\)和\(p\)不互質,那麼\(p|i\)

設\(i=\prod_^mp_i^\)

則\(p_1\ast i=\prod_^mp_i^\ast p_1^\)

\(\frac=\prod_^m p_i^\ast p_1^\)

\(\sigma_i=\prod_^n\frac-1}\)

\(\sigma_=\prod_^n\frac-1}\ast \frac-1}\)

\(\sigma_}=\prod_^n\frac-1}\ast \frac-1}\)

設\(t=\prod_^n\frac-1}\)

\(\sigma_=t\ast \frac-1}\)

\(\sigma_=t\ast \frac-1}=\sigma_i+t\ast p_1^\)

\(\sigma_}=t\ast \frac-1}=\sigma_i-t\ast p_1^\)

兩邊乘\(p_1\)得到\(\sigma_}\ast p_1=p_1\ast \sigma_i-t\ast p_1^\)

後兩個式子相加可得\(\sigma_=(p_1+1)\ast \sigma_i-p_1\ast \sigma_}\)

AcWing 篩法求尤拉函式 篩法 尤拉函式

時 空限制 1s 64mb 給定乙個正整數n,求1 n中每個數的尤拉函式之和。共一行,包含乙個整數n。共一行,包含乙個整數,表示1 n中每個數的尤拉函式之和。1 n 10 6 題意 求1 n中每個數的尤拉函式之和。思路 在這個題目中我們不能直接分別去求1 n之間的尤拉函式,會超時,所以我們就可以根據...

篩法尤拉函式

尤拉函式 因為對於n來說,小於等於n的正整數有n個,但是因為n是素數,n與其本身並不互質,所以有n 1個數跟它互質。若n為質數p的k次方 那麼 n p 1 pk n pk p是質數 所以乙個數要想跟n互質的話應該不是p的倍數,p的倍數有p p,2 p,3 p pn 1 p,共有pn 1個,小於等於n...

積性函式篩法

很多常用的數論函式都是積性函式,而在題目中,我們常常需要線性 甚至更高 的篩法。對於積性函式,我們可以在篩素數的基礎上稍加修改,即可完成線性篩。首先,注意到積性函式的特點 f xy f x times f y 而可以線性篩的積性函式,需要知道以下兩個式子的快速求法 f p quad f p k p ...