$umm$因为$gql$数论太差了,所以决定来总结一下一些比较基础的数论知识,然后不太熟悉的可能会有些证明啥的$QwQ$
$gcd & exgcd$
昂$gcd$就没什么好说的呀,证明过于显然我就不说了$kk$
懒得放代码了可以去看$exgcd$的代码,当做到$!b$的时候$a$即答案$QwQ$
$exgcd$用来解形如$acdot x+bcdot y=c$的方程
先上一个结论,这样的方程有解当且仅当$gcd(a,b)|c$.昂这个是裴蜀定理.懒得证了反正分别从充要性两方面证下就好$QwQ$
然后我大概证下$exgcd$的过程趴$QwQ$
先说下,我这里证的$acdot x+bcdot y=gcd(a,b)$,对于$c=kcdot gcd(a,b)$的情况直接解完之后乘以$k$就成嘛$QwQ$
- 当$b=0$时$gcd(a,b)=a$,此时显然存在一组整数解$x=1,y=0$
- 当$b eq 0$时,由欧几里德定理得$gcd(a,b)=gcd(b,a mod b)$.
所以有$acdot x_1+bcdot y_1=gcd(a,b)=gcd(b,a \% b)=bcdot x_2+(a \% b)cdot y_2$
又因为$a mod b=a-lfloor frac{a}{b} floorcdot b$
带入得$acdot x_1+bcdot y_1=bcdot x_2+(a-lfloor frac{a}{b} floorcdot b)cdot y_2$
变形得$acdot x_1+bcdot y_1=bcdot x_2+acdot y_2-lfloor frac{a}{b} floorcdot bcdot y_2$
$acdot x_1+bcdot y_1=acdot y_2+bcdot(x_2-lfloor frac{a}{b} floorcdot y_2)$
所以有$x_1=y_2,y_1=x_2-lfloor frac{a}{b} floorcdot y_2$
然后常见应用应该是求解逆元?即当除数与模数不互质时要通过$exgcd$求解.
欧拉定理&扩展欧拉定理
昂先放结论再证明趴$QwQ$
欧拉定理:$forall gcd(a,n)=1,a^{phi(n)}equiv 1(mod n)$.当$n$为质数时这就费马小定理$QwQ$
扩展欧拉定理:$a^b equivegin{cases}a^(b mod phi(n)) &gcd(a,b)=1\a^b &gcd(a,n) eq 1,b<phi(n)(mod n)\a^{(b mod phi(n))+phi(n)} &gcd(a,n) eq 1,b geq phi(m)(mod n)end{cases}$
欧拉定理:
设与$n$互质的数为$x_1,x_2,...,x_{phi(n)}$
因为$gcd(a,n)=1$
所以有$acdot x_1,acdot x_2,acdot x_3,...,acdot x_{phi(n)}$都与$n$互质且互不相同
所以$x_1,x_2,...,x_{phi(n)}$与$acdot x_1,acdot x_2,acdot x_3,...,acdot x_{phi(n)}$一定一一对应
于是有$acdot x_1cdot acdot x_2cdot ...cdot acdot x_{phi(n)}equiv x_1cdot x_2cdot ...cdot x_{phi(n)}(mod n)$
整理得$a^{phi(n)}cdot prod x_{i}=prod x_{i}(mod n)$,$(a^{phi(n)}-1)cdot prod x_{i}=0(mod n)$
又因为$x$全部与$n$互质,得证!
拓展欧拉定理:
对三条分别证下趴$QwQ$
$case 1:$
设$b=kcdot phi(n)+c$.
于是有$a^bequiv a^{kcdot phi(n)+c}equiv a^{kcdot phi(n)}cdot a^cequiv a^cequiv a^(b mod phi(n))$
$case 2:$
$umm$这个要证嘛$QwQ$
$case 3:$
先说一个小结论$QwQ$
考虑将$a$质因数分解为$a=d_1^{p_1}cdot d_2^{p_2}cdot ...$后,若能证$forall d$满足$d^bequiv d^{(b \% phi(n))+phi(n)}(mod n)$,就能证$a^bequiv a^{(b \% phi(n))+phi(n)}(mod n)$
先证下这个结论趴$QwQ$
考虑若已证$forall d$满足$d^bequiv d^{(b \% phi(n))+phi(n)}(mod n)$
则有$(d^{p})^bequiv (d^p)^{(b \% phi(n))+phi(n)}(mod n)$
于是有$(d_1^{p_1}cdot d_2^{p_2}cdot ...)^bequiv (d_1^{p_1}cdot d_2^{p_2}cdot ...)^{(b \% phi(n))+phi(n)}(mod n)$
即$a^bequiv a^{(b \% phi(n))+phi(n)}(mod n)$
欧克于是接下来就只用证$d^bequiv d^{(b \% phi(n))+phi(n)}(mod n)$了
1)若$gcd(d,n)=1$.
由$case 1$得显然成立.
2)若$gcd(d,n) eq 1$
令$n=scdot d^r,gcd(s,d)=1$
于是有$d^{phi(s)}equiv 1(mod s)$,又因为$gcd(s,d)=1$,于是有$phi(s)|phi(n)$,于是有$p^{phi(n)}equiv 1(mod s)$
变形得$d^{phi(n)+r}equiv d^r(mod n)$
于是有$d^bequiv d^{b+phi(n)}(mod n)$
于是发现每次指数相差$phi(n)$依然是成立的,于是有$d^bequiv d^{(b mod phi(n))+phi(n)}(mod n)$,得证$QwQ$
应用的话一个是在$mod$为质数时常用欧拉定理.还一个就求指数幂的时候不用担心指数爆炸了$QwQ$
欧拉函数
昂首先说下欧拉函数和欧拉公式啥关系也没有$QwQ$
然后说下欧拉函数的定义趴?$phi(x)$,表示$x$以内所有与$x$互质的数的个数
因为感觉比较少能碰到,而且基本上能用欧拉函数做的都能用莫比乌斯做了(因为,欧拉函数是可以和莫比乌斯函数互相转化的,详见莫比乌斯简要总结性质4(其实也,没有多详细$QwQ$
所以就不写应用了,写下怎么求就完事$QwQ$
就直接欧拉筛鸭,分常见三种情况讨论下趴$QwQ$
->是质数.直接赋值$phi(x)=x-1$
->$i\%pr_j==0.phi(icdot pr_j)=phi(i)cdot pr_j,break$
->$else.phi(icdot pr_j)=phi(i)cdot phi(pr_j)$
逆元
$umm$只写下线性递推的了$QwQ$还有两种一个是$exgcd$,还一种是欧拉定理快速幂,前面都写了$QwQ$
先放结论趴,若模数为$m$,有$inv_i=((m-lfloorfrac{m}{i} floor)cdot inv_{m\%i}) mod m$
设$t=lfloorfrac{m}{i} floor,k=m\%i$.
显然$tcdot i+kequiv 0(mod m)$,于是有$-tcdot iequiv k(mod m)$,于是有$-tcdot inv_kequiv inv_i(mod m)$
于是有$inv_i=-lfloorfrac{m}{i} floorcdot inv_{m\%i}$,两边同加$m$显然无影响,于是有$inv_i=(m-lfloorfrac{m}{i} floorcdot inv_{m\%i}) mod m$
质因数分解
$umm$只是$mk$一个小技巧$QwQ$.
就可以先预处理出每个数最大的质因数(其实随便一个质因数都成没影响的$QwQ$.
然后每次分解质因数的时候就能直接做下去,复杂度似乎是$O(logn)$的$QwQ$
$crt & excrt$
$umm$我之后的所有知识点都先写内容再写证明好了$QwQ$
$CRT:$
设$m_1,m_2,...,m_n$两两互质,则对于方程组$xequiv a_i(mod m_i)$,在$prod m_i$范围内有唯一解.
设$M=prod m_i,p_i=frac{M}{m_i},q_iequiv frac{1}{p_i}(mod m_i)$
于是有$as=sum a_icdot q_icdot p_i$
$exCRT:$
不保证$m_i$之间两两互质.(这个其实还$easy$些$QwQ$?
考虑若$n=2$,也就$xequiv a_1(mod m_1),xequiv a_2(mod m_2)$
变形得$x=m_1cdot x_1+a_1=m_2cdot x_2+a_2$
就只要解出一个$m_1cdot x_1-m_2cdot x_2=a_2-a_1$的使得$x$最小的解就成,所以就$exgcd$解下呗$QwQ$.
设解出的$x$为${x}'$,于是原式变为,$xequiv {x}'(mod lcm(m_1,m_2))$
这么一直做下去就好$QwQ$
证明:
$crt:$
只证充分性了$QwQ$
考虑因为$m_i$之间两两互质,所以对于$j eq i$,$q_i mod m_jequiv 0$,也就说对每个$i$,$sum a_icdot q_icdot p_i$在膜$m_j$下有意义的只有$a_jcdot q_jcdot p_j$,又因为$q_jcdot p_jequiv 1(mod m_j)$
于是显然$QwQ$
$excrt:$
$umm$话说我$jio$得我前面港做法的时候就把证明差不多搞完了?不说了$QwQ$
说下应用趴,$crt$一般用于题目模数不是质数时的合并.即,若一个模数唯一分解$m=prod p_i^{a_i}$,那么我们解出所有在$mod p_i^{a_i}$意义下的解然后合并就好
$BSGS & exBSGS$
一般用于求解形如$a^xequiv b(mod p)$的方程.其中$BSGS$有限制:$gcd(a,p)=1$,$exBSGS$没有这个限制
因为这不是什么定理所以就不是以内容+证明的形式了,直接写怎么做,正确性其实就在里面了$QwQ$
先说$BSGS$趴
考虑将设$tmp=left lfloor sqrt{mod} ight floor$,$x=i*tmp+j$
然后式子就可以变形成, $ a^{i cdot tmp} equiv b cdot a^{j} $
然后预处理出右边的值存到$map$中,枚举左边查就行$QwQ$.复杂度就$O(sqrt(p))$
然后港下$exBSGS$.
设$d=gcd(a,p)$.
先将原式变形得$a^x+pcdot k=b$.
于是两边同除$d$得$frac{a}{d}cdot a^{x-1}+frac{p}{d}cdot k=frac{b}{d}$.这样就可以当作$frac{a}{d}$是一个系数了
然后一直做下去直到$gcd(a,frac{p}{d})=1$,这时候就又成$BSGS$了,把系数除去后跑个$BSGS$最后再还原回去就好$QwQ$
另外,如果过程中$frac{b}{d}$不是整数了,就说明无解,$over$
组合数学
这个我可能有时间会另外开坑,,,只是$mk$下$QwQ$
莫比乌斯反演
同上$w$
博弈论
同上$w$
二次剩余
咕咕咕咕咕
$miller-rabin$
咕咕咕咕
$pollard-rho$
咕咕咕
同余类最短路
咕咕
原根
咕