QBXT DAY 2 笔记

矩阵乘法:

A…n*m //A是n*m的矩阵
*
B…m*r //B是m*r的矩阵
= //进行矩阵乘法
C…n*r

C(i,j)=∑(A(i,k)*B(k,j)) //公式

a b x ax+by
* =
c d y cx+dy

a b dp[i][0] a*dp[i][0] + b*dp[i][1]
* =
c d dp[i][1] c*dp[i][0] + d*dp[i][1]

fibonacci第n项:

dp[n][0] (0 1) 1
= ( )^n *
dp[n][1] (1 1) 1



费马小定理:

假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p),即:假如a是整数,p是质数,

且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。

威尔逊定理;

当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )

欧拉定理:

n=75=3*5*5
=3*(5^2)
= ∏(Pk^Ak)

其中 P=(3,5),A=(1,2)

φ(n)=∏(Pk-1)*Pk^(Ak-1)



逆元:

以下公式均在%p意义下:

a^(p-1)=1 -> a*a^(p-2)=1 -> a^(p-2)=1/a ;

ax=b
-> x=b*(1/a)
=b*a^(p-2)//这个a^(p-2)就是逆元

a*x==a/(1/x) 则 1/x 是x的逆元

求逆元:

pow(x,p-2)%p



因数个数:

f(3)=2
f(4)=3
f(12)=6

f(a)=x
f(b)=y
f(a*b)=x*y //a、b互质

因数和:

g(3)=4
g(4)=7
g(12)=28

g(a)=x
g(b)=y
g(a*b)=x*y



数论函数:
整数映射到整数的函数

积性函数:http://paste.ubuntu.com/25659176/

如果一个数论函数f(x) 满足对于任意的互质正整数n,m 均有
f(nm) = f(n)f(m), 则称为积性函数。
如果一个数论函数f(x) 满足对于任意的正整数n,m 均有
f(nm) = f(n)f(m), 则称为完全积性函数。



素数判定:
Miller Rabin 算法:
素性判定算法,分解N-1 得
N - 1 = 2^r *d
我们对于随机的a,判断数列
a^d; a^2d; a^4d; a^(2r*d)
是否有某一位是n-1,然后就是一堆奇奇怪怪的1
如果是,那就是质数



线性筛时加一句if(i%prime[j]==0)break; 可以优化到O(n);

质数分布的上界是n/log(n);

你可能感兴趣的:(笔记,-----编程经验-----,数论)