1.快速幂
2.算数基本定理
x=p1 ^ c1 * p2 ^ c2 * p3 ^ c3…pn ^ cn
扩展1:x的正因子个数:num=(1+c1)(1+c2)(1+c3)…(1+cn)
扩展2:x的正因数和为:
sum=(1+p1+p1 ^ 2+…p1 ^ c1)(1+p2+p2 ^ 2+…p2 ^ c2)…(1+pn…+pn ^ cn)
=(p1 ^ c1-1)(p2 ^ c2-1)…(pn ^ cn-1)/(p1-1)(p2-1)…(pn-1)
3.质数
埃氏筛,线性筛,质因数分解(divide,双数组)
4.求一个数所有约数
试除法(1~sqrt(N)),O(N sqrt(N))
倍数法(vector容器储存),O(N log(N))
5.欧几里得算法gcd
5.1 exgcd求解不定方程:ax+by=c
5.2 求线性同余方程 ax≡b(mod m)
5.3 求乘法逆元
3.1 只保证b,p互质,可求解 b x ≡1(mod p)
3.2 b<p且p是质数,小费马得:b^ p-1≡1(mod p)
所以:b*b ^ p-2≡1(mod p)故 b^p-2 是b的乘法逆元
6.中国剩余定理
x=M1a1x1+…Miaixi
7.组合数学
特殊组合数:n个数,n1个a1,n2个a2,…ni个ai
共有n!/(n1!+n2!+n3!+…ni!)
Lucas定理,求大数组合数
Catalan数列,n个0n个1组成任意前缀num_0>=num_1,S=C(n,2*n)/(1+n)
8.欧拉函数
求一个数n,小于n且与n互质的数的个数