- 一 组合数
- 1 和杨辉三角的关系
- 二 逆元
- 1 快速幂求逆元
- 三 矩阵
- 1 矩阵乘法
- 2 矩阵乘法的运算定律
- 1 不满足交换律
- 2 满足结合律ABCABC
- 3 满足分配律ABCACBC ABCABAC
- 四其它奇怪东西
- 1如果有互质数ab不能表示成axby的数最大为ab-a-b
一、 组合数
C(m,n)表示m个中选n个的方案数
C(m,n)=m!n!(m−n)!
1、 和杨辉三角的关系
C(i,0)=C(i,i)=1
C(i,j)=C(i−1,j−1)+C(i−1,j)
这就是杨辉三角:
0 1 2 3 4
0|1
1|1 1
2|1 2 1
3|1 3 3 1
4|1 4 6 4 1
……
二、 逆元
对于a和模数p,若ax≡1(modp),则x是a的逆元。
有什么用?当你要除以a时,你可以用乘x代替。因为除法不能直接进行模运算。
举个例子: a=2 p=7
则x=4
当我们要算6/2 mod 7
时,可以用6*4 mod 7
来代替。
1、 快速幂求逆元
有一个奇怪的公式:
aφ(p)≡1(modp)
变形得:
a∗aφ(p)−1≡1(modp)
所以aφ(p)−1即a的逆元。
当p为质数时,φ(p)=p-1。模数常常是质数。所以ap−2就是a的逆元(重复一遍,p为质数时!)
三、 矩阵
加减不说,对应的加在一起好了。
1、 矩阵乘法
一张好图,在这里发现的,方便理解矩阵乘法。(这张图是从0开始的,我们习惯从1开始)
一个m∗n的的A矩阵,和一个n∗p的B矩阵相乘,将得到一个m∗p的矩阵C
C(i,j)=∑k=1pA(i,k)∗B(k,j)
可以简单地理解为,A中i行的元素,与B中j列的元素,对应相乘得到的和。