HDU 1452 因子和 積性函式性質

2021-09-06 07:38:56 字數 791 閱讀 3172

詳見**:

#include #include 

#include

#define mod 29

using

namespace

std;

/*求2004^x次方的所有因子對29取餘,可能是由於這一年是閏年才選擇的29

我們可以對2004進行分解 2004 = 2^2 * 3 * 167,很明顯2^2 和 3 和 167 都是相互互質的

因此就可以利用到乙個數的因子和是乙個積性函式這個性質,設s(n)為這個函式

又因為s(p^n) = 1+p+p^2+...+p^n,所以乙個數被用素數的指數冪來表示的話就能夠被分解化

的表示出來s(p^n) = (p^(n+1)-1)/(p-1)

由上面的公式我們可以的出來s(p^n)%29 = (p^(n+1)-1)*(p-1)^(-1)%29

而x^(-1)就是x%p的逆元滿足 x*inv(x) = 1%p

因子2-1=1,所以可以直接算

因子3-1=2,逆元為15,因為2*15%29=1

因子167%29=22; 22-1=21的逆元是18,因為21*18%29=1

*/int _pow(int a, int

b) b >>= 1

; a *=a;

a %=mod;

}

return

ret;

}int

main()

return

0;

}

積性函式字首和

最近突然做到一些求積性函式字首和的題,用到了各種篩,有一題用到 min 25 篩法,於是好好學習了一波,運用極不熟練。後來又遇到一道杜教篩的題,結果發現自己連 phi x 字首和都不會推了?嚇得我趕緊複習 寫部落格。常見 完全 積性函式 整除分塊 dirichlet 卷積 埃氏篩 這裡還是簡單介紹一...

hdu 2879 hehe 積性函式

題目大意 he n 為小於n且滿足x 2 x mod n 的個數 hehe n he 1 he n 解題思路 1.證明p是素數時he p 2.x 2 x mod p p x x 1 因為xhe p k 2,證明類似上面的 2.證明對於不同的兩個素數p和q,he p q 4 he p he q 首先x...

積性函式求字首和

若函式f滿足 a,b互質有f a b f a f b 我們則稱f是積性函式。常見的比如尤拉函式,莫比烏斯函式,都屬於積性函式。線性篩法,利用積性函式的積性,篩素數同時可以計算積性函式。然而有些問題要求低於線性的複雜度。同樣利用積性函式的性質。舉常見的莫比烏斯函式為例。求 ni 1 i 1 n 10 ...