zoukankan      html  css  js  c++  java
  • 入门数论简单总结

    $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$求解.

    $exgcd$板子 $code$

    欧拉定理&扩展欧拉定理

    昂先放结论再证明趴$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$

    板子 $code$

    质因数分解

    $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}$意义下的解然后合并就好

    $CRT$板子 $code$

    $exCRT$板子 $code$

    $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$

    $BSGS$板子 $code$

    $exBSGS$板子 $code$

    组合数学

    这个我可能有时间会另外开坑,,,只是$mk$下$QwQ$

    莫比乌斯反演

    同上$w$

    博弈论

    同上$w$

    二次剩余

    咕咕

    $miller-rabin$

    咕咕

    $pollard-rho$

    咕咕

    同余类最短路

    咕咕

    原根

  • 相关阅读:
    关于桌面的图片打开很慢的解决方法
    用c#进行递归组合
    ajax,js,css 入门页面
    择日宣判此案,却常再无下文
    共享软件的明确定义
    [转]大逃亡,还没出来呢
    如何收集带有附件的网页
    送一份自家产的软件给园内的兄弟姐妹作“福利”
    [转]评蒙牛内幕
    蓝侠==la*uan,破解中国共享软件联盟著名灌水专家“蓝侠””
  • 原文地址:https://www.cnblogs.com/lqsukida/p/11587477.html
Copyright © 2011-2022 走看看