整理的算法模板合集: ACM模板
目录
题目 | 算法 |
---|---|
AcWing 1291. 轻拍牛头 | 求约数的个数 |
AcWing 1294. 樱花 | 求 ( n ! ) 2 (n!)^2 (n!)2的约数的个数 |
AcWing 198. 反素数 | 通过分析元素性质发现可以直接dfs |
一、约数个数
本节前半部分需要用到的知识:
由算数基本定理得正整数N可以写作 N = p 1 C 1 × p 2 C 2 × p 3 C 3 ⋯ × p m C m N=p_1^{C_1}\times p_2^{C_2} \times p_3^{C_3} \cdots \times p_m^{C_m} N=p1C1×p2C2×p3C3⋯×pmCm
N的正约数个数为( Π Π Π是连乘积的符号,类似 ∑ ∑ ∑)
( c 1 + 1 ) × ( c 2 + 1 ) × ⋯ ( c m + 1 ) = Π i = 1 m ( c i + 1 ) (c_1+1)\times (c_2+1)\times \cdots (c_m+1)=\Pi_{i=1}^{m}(ci+1) (c1+1)×(c2+1)×⋯(cm+1)=Πi=1m(ci+1)
N的所有正约数和为
( 1 + p 1 + p 1 2 + ⋯ + p 1 c 1 ) × ⋯ × ( 1 + p m + p m 2 + ⋯ + p m c m ) = ∏ i = 1 m ( ∑ j = 0 c i ( p i ) j ) (1+p_1+p_1^2+\cdots +p_1^{c_1})\times\cdots\times(1+p_m+p_m^2+\cdots +p_m^{c_m})=\prod_{i=1}^{m}(\sum_{j=0}^{c_i}(p_i)^j) (1+p1+p12+⋯+p1c1)×⋯×(1+pm+pm2+⋯+pmcm)=i=1∏m