裴蜀定理:
内容:若$gcd(a,b)=d$,则一定存在$m,nin Z$,使$ma+nb=d$且$d$为$ma+nb$的最小正值(狭义)
证明:
令$d=gcd(a,b)$,则对任意$m,nin Z$,有$d|am+bn$
设$am+bn$的最小正值为$s$,则令$q=[frac{a}{s}],r=a$ $mod$ $s=a-q(am+bn)=a(1-qm)+b(-qn)$
考虑到$r=a$ $mod$ $s$,于是$0leq r<s$
那么r也是$am+bn$的一个表达,由于s是最小正值,于是$r=0$(如果r不为0,那么r就是最小正值了)
于是$s|a$,同理$s|b$,于是s是a和b的公约数,于是$sgeq d$
考虑$d|a,d|b,s=am+bn$,则$d|s$,于是$dgeq s$
那么d=s
整数的唯一分解定理:
定理:对任意正整数$Mgeq2$,M可以表示成唯一的一组$p_{1},p_{2}...p_{n}$的表达$M=p_{1}^{k_{1}}p_{2}^{k_{2}}...p_{n}^{k_{n}}$($p_{1}<p_{2}<...<p_{n}$)
我们采用反证法证之:
引理:若质数p|ab,则p|a或p|b
证明:若p|a则定理得证,若p不是a的约数,则a,p互质(显然)
于是根据裴蜀定理,存在$m,nin Z$使$ma+np=1$,于是$b=b(ma+nb)=mab+nbp$
考虑$p|ab$,则上式右侧能被$p$整除,于是左侧也能被$p$整除,即$p|b$
设$M=p_{1}^{k_{1}}p_{2}^{k_{2}}...p_{n}^{k_{n}}=q_{1}^{a_{1}}q_{2}^{a_{2}}...q_{n}^{a_{n}}$是最小可以用两种方法表示的正整数
那么有$p_{1}|q_{1}^{k_{1}}...q_{n}^{k_{n}}$
结合上述引理,有$p_{1}|q_{1}$或$p_{1}|q_{2}$...或$p_{1}|q_{n}$
那么为了保证$q$均为质数,不妨令$p_{1}|q_{1}$(不失一般性)则有$p_{1}=q_{1}$
不妨令$a_{1}leq _{1}$,则构造$M^{'}=p_{1}^{a_{1}-k_{1}}p_{2}^{k_{2}}...p_{n}^{k_{n}}=q_{2}^{a_{2}}...q_{n}^{a_{n}}$
结合上述分析,有$p_{1}=q_{2}~q_{n}$中的一个
但是显然这与$q_{1}...q_{n}$互不相同矛盾,于是必须有$a_{1}=k_{1}$
那么我可以构造$M^{"}=p_{2}^{k_{2}}...p_{n}^{k_{n}}=q_{2}^{a_{2}}...q_{n}^{a_{n}}<M$,这就是找到了一个比$M$更小的能用两种方法表示的正整数,从而与假设矛盾
记$M=p_{1}^{k_{1}}...p_{n}^{k_{n}}$
约数个数公式:M的约数个数$d(M)=pi_{i=1}^{n}(k_{i}+1)$
约数和公式:M的约数和$σ(M)=pi_{i=1}^{n}(sum_{j=0}^{k_{i}}p_{i}^{j})$
等比数列分治求和公式:$sum_{i=1}^{n}p^{i}=sum_{i=1}^{frac{n}{2}}p_{i}+p^{frac{n}{2}}sum_{i=1}^{frac{n}{2}}p_{i}$
欧拉函数的性质:
$phi(p)=p-1$(p为质数)
令$M=pi_{i=1}^{n}p_{i}^{k_{i}}$,则$phi(M)=pi_{i=1}^{n}(p_{i}-1)*p_{i}^{k_{i}-1}$
丢番图题解:
$frac{1}{x}+frac{1}{y}=frac{1}{n}$
移项通分:$n(x+y)=xy$,再整理:$x=frac{ny}{y-n}$
令$t=y-n$,于是$y=t+n$,即$x=frac{n(t+n)}{t}$,也即$x=n+frac{n^{2}}{t}$
于是求出$n^{2}$的约数个数即可
模线性方程问题
$axequiv1$(mod b)
gcd问题:
令$d=gcd(a,b)$,记$a=kb+m$
显然$d|a,d|b$,则$d|m$,也即$d|m,d|b$,也即$d|gcd(b,m)$
设$d^{'}=gcd(b,m)$,则$d^{'}|b,d^{'}|m$,也即$d^{'}|a$
注意到$d$是$a$与$b$的最大公约数,于是$d^{'}|d$
于是$d=d^{'}$(证明中隐含了一个内容:两个数的最大公约数能被这两个数所有的公约数整除)
ex_gcd问题
$axequiv 1$(mod b)即$ax+by=1$
这里我们知道a,b互质,于是原方程即为$ax+by=gcd(a,b)$
我们知道$gcd(a,b)=gcd(b,a$ $mod$ $b)$
于是令$a_{1}=b,b_{1}=a$ $mod $ $b$,辗转一次即变为$a_{1}x_{1}+b_{1}y_{1}=gcd(a_{1},b_{1})$
以此类推,直至$b_{n}=0$,此时方程化为$a_{n}x_{n}=gcd(a_{n},0)$
显然取$x_{n}=1$即可($gcd(a_{n},0)$当然是$a_{n}$,因为$frac{0}{a_{n}}=0$不是吗...)
那在这个方程中其实我可以取$y_{n}$为任意值,但是为了计算简便我们一般取$y_{n}=0$(不要作死地去取y为别的值,因为指不定后面的计算就给你整出点啥意外情况)
接下来讨论怎么根据已有的$x_{k},y_{k}$反求$x_{k-1},y_{k-1}$
我们已知$a_{k}x_{k}+b_{k}y_{k}=gcd(a_{k},b_{k})$
但其实右侧的值始终为$1$
也就是可以写成这样的形式:$a_{k-1}x_{k-1}+b_{k-1}y_{k-1}=a_{k}x_{k}+b_{k}y_{k}$
注意到前后$a$和$b$的对应关系,也即:
$a_{k-1}x_{k-1}+b_{k-1}y_{k-1}=b_{k-1}x_{k}+(a$ $mod$ $b)y_{k}$
注意到$a$ $mod$ $b$等价于$a-[frac{a}{b}]b$
于是上式即为:$a_{k-1}x_{k-1}+b_{k-1}y_{k-1}=b_{k-1}x_{k}+(a_{k-1}-[frac{a_{k-1}}{b_{k-1}}]b_{k-1})y_{k}$
展开右侧,既得$a_{k-1}x_{k-1}+b_{k-1}y_{k-1}=a_{k-1}y_{k}+b_{k-1}(x_{k}-[frac{a_{k-1}}{b_{k-1}}]y_{k}$
对应相等,于是$x_{k-1}=y_{k},y_{k-1}=x_{k}-[frac{a_{k-1}}{b_{k-1}}]y_{k}$
我们也就找出了这组对应关系
一般线性同余方程的求解:
考虑方程$ax+by=c$,其中$gcd(a,b)|c$
那么首先我们可以在两侧同时除掉一个$gcd(a,b)$,得到一个新的方程$a^{'}x+b^{'}y=c^{'}$,其中$gcd(a^{'},b^{'})=1$,这两个方程显然是等价的
那么我们不妨先求解方程$a^{'}x+b^{'}y=1$,这样的话只需要对求出的$x,y$同时乘c就是原方程的解了
逆元的线性递推
设$p$为质数,我们想求$a$对$p$的逆元
我们构造一个$p$的拆分$p=ka+b$,要求(1<a<p,b<a)
在两侧同时乘$a$和$b$的逆元$a^{-1},b^{-1}$
于是得到了$kb^{-1}+a^{-1}equiv 0($ $mod$ $p)$
移项:$a^{-1}equiv -kb^{-1}$
代入得:$a^{-1}equiv [frac{p}{a}] (p$ $mod$ $a)^{-1}$
注意到$p$ $mod$ $a<a$,也即后面的逆元是已经求出来的,这样我们就可以从前向后递推了
中国剩余定理:
考虑模线性方程组$x_{i}equiv a_{i}($ $mod$ $p_{i}),i=1,2...n$
令$M=pi_{i=1}^{n}p_{i}$,$M_{i}=frac{M}{p_{i}}$
求解$M_{i}$对$m_{i}$的逆元$M_{i}^{-1}=x_{i}$
则最终原方程的通解即为$X=sum_{i=1}^{n}a_{i}x_{i}M_{i}+tM(tin Z)$
接下来给出证明:
首先我们证明这个解的正确性(其实正确性好证,举一个方程为例代入即可)
令$X=sum_{i=1}^{n}a_{i}x_{i}M_{i}$
代入任意一个方程$j$,对$i!=j$,都有$a_{i}x_{i}M_{i}equiv 0($ $mod$ $p_{j})$
对$i=j$,根据上述求解过程知:$x_{i}M_{i}equiv 1($ $mod$ $p_{i})$
于是$a_{i}x_{i}M_{i}equiv a_{i}($ $mod$ $p_{i})$
即$X=sum_{i=1}^{n}a_{i}x_{i}M_{i}equiv a_{i}($ $mod$ $p_{j})$
这也就证明了这个解的正确性
接下来证明这组解的唯一性:
令$x_{1},x_{2}$是上述方程组的两个解,则对任意$i=1,2...n$,有$x_{1}-x_{2}equiv 0($ $mod$ $p_{i})$
考虑$p_{1},p_{2},...p_{n}$互质,所以$M|x_{1}-x_{2}$
也即任意两个解之间的差距一定是$M$的整数倍
那么上述通解也就是合理且唯一的
降幂公式:$a^{m}equiv$ $a^{m mod phi(p)+phi(p)}($ $mod$ $p)$
bzoj 3884
记$f(p)=2^{2^{2^{2}}}...$ $mod$ $p$
由降幂公式:$f(p)=2^{2^{2^{2}}mod phi(p)+phi(p)}$ $mod$ $p$
注意到上面仍是无穷,所以$f(p)=2^{f(phi(p))+phi(p)}$ $mod$ $p$
于是递归求解即可,边界为$f(1)=0$
RSA算法的证明:
任意选择两个质数$p,q$,并构造$n_{1}=pq$,$n_{2}=(p-1)(q-1)$,则对于$∀min(1,n_{1})$,对于所有$ein[1,n_{2})$且e与n2互质,令$c=m^{e}$ $mod$ $n_{1}$, 取$din[1,n_{2})$且要求$ed$ $mod$ $n_{2}equiv1$,则$c^{d}$ $mod$ $n_{1}equiv m$
其实要认识到一点:由于$p,q$是质数,所以$phi(n_{1})=n_{2}$
结合上面的表达式:$c=m^{e}$,于是$c^{d}=m^{de}$
考虑到$deequiv 1 ($ $mod$ $n_{2})$,$n_{2}=phi(n_{1})$
于是$m^{de}equiv m^{de mod phi(n_{1})}equiv m($ $mod$ $n_{1})$
也就得出了结果
卢卡斯定理:若$p$为质数,则$C^{m}_{n}equiv C^{[frac{m}{p}]}_{[frac{n}{p}]}C^{mmodp}_{nmodp}$ $($ $mod$ $p)$
证明:显然$C_{p}^{m}equiv 0($ $mod$ $p)$
我们用二项式定理来证明:令$n=sp+q$
则$(1+x)^{n}=(1+x)^{sp+q}=(1+x)^{sp}(1+x)^{q}=[(1+x)^{p}]^{s}(1+x)^{q}$
在模$p$意义下,$(1+x)^{p}=1+x^{p}$(根据我们最开始证明的等式,二项式展开即可)
于是我们有$(1+x)^{n}=(1+x^{p})^{s}(1+x)^{q}=sum_{i=0}^{s}C_{s}^{i}x^{ip}sum_{j=0}^{q}C_{q}^{j}x^{j}$
考虑$x^{tp+m}$项的系数,根据最初的表达式,其系数为$C_{sp+q}^{tp+m}$
根据推导出的表达式,显然只能取$i=t,j=m$,于是其系数为$C_{s}^{t}C_{q}^{m}$
也即$C_{sp+q}^{tp+m}equiv C_{s}^{t}C_{q}^{m}$,于是定理得证