关于组合数学基础
作者:互联网
今天学了一些基础数论,简单记录一下:
首先是前备基础:
1.小学奥数之排列组合
排列:
组合:
组合重要公式:
这些显而易见的东西也不过多赘述,本质就是杨辉三角与组合还有完全多项式系数之间的关系
2.基础数论算法:
假设x≡y (%p)
x+a ≡ y+a (% p)
x-a ≡ y-a (% p)
x*a ≡ y*a (% p)
(a + b)%p = (a%p + b%p)%p
(a - b)%p = (a%p + b%p)%p
(a - b)%p = (a - b + p)%p
由此得知:
a*b%p = (a%p)*(b%p) %p
关于逆元
众所周知,在取模的意义下是不能直接作除法的。
所以引进逆元这个概念,意义是:
除以一个数,等于乘上这个数的逆元;
乘以一个数,等于除以这个数的逆元
所以只要求出一个式子的逆元,就可以将取模意义下的除法转化成驱魔意义下的乘法从而直接进行计算。
对于正整数a,b,如果能找到正整数x使得ax ≡ 1 (% b),我们称x是a在模b意义下的逆元(gcd(a,b)=1时才满足,要不然还可以约分)
关于逆元的求法,我只介绍有关费马小定理的算法和线性求逆元
费马小定理应该没有人不知道吧
建立一个p的完备剩余系{1,2,3.....,p-1},因为gcd{a,p}=1,所以{a,2a,3a,.....,(p-1)a}也是p的完备剩余系。将这两个完备剩余系分别相乘,由于其中定没有p的因数,所以有
由于p是质数,所以得到:
两边同时再乘p的负一次方,就得到:
线性求逆元
int[i]代表i的逆元,即
设p=g*k+r,则g*k+r ≡ 0 (mod p)
由于p是质数,所以
标签:b%,a%,意义,组合,所以,逆元,数学,关于 来源: https://www.cnblogs.com/zch061023/p/16312684.html