同余系下的简单理论和算法

抽代赛高。

整除式

首先同余的一个理论基石就是整除式

\(a\mid b\) 表示 \(a\) 整除 \(b\)

有几个性质:

\[(a,b)=1, a\mid bc \Rightarrow a\mid c \\ a\mid b,a\mid c \Rightarrow a\mid gcd(b,c) \\ \]


同余恒等式

类比普通的实数恒等式 \(a = b\), 同余恒等式也有一些可操作的性质。

这些性质给出了处理同余恒等式的一些方法。

基本性质

同加同减

显然地, 有

\[a\equiv b(\mod m) \Leftarrow\Rightarrow a+c \equiv b+c (\mod m) \]

挺容易验证的。

同乘

同样显然地,有

\[a\equiv b(\mod m)\Leftarrow\Rightarrow ac \equiv bc(\mod m) \]

与整除式的联系

基本

刚才说了整除式是同余理论的一个基石就是因为以下一个等价式:

\[a\equiv b(\mod m) \Leftarrow\Rightarrow a-b \equiv0(\mod m) \Leftarrow\Rightarrow m\mid(a-b) \]

可以用这个推一些同余恒等式的性质。

恒等式合并(拆分)

\[a \equiv b(\mod m), a\equiv b(\mod n) \Rightarrow m\mid(a-b), n\mid (a-b) \Rightarrow lcm(m,n)\mid(a-b) \]

就得到了

\[a \equiv b(\mod lcm[n,m]) \]

消去(同除)

\[ka\equiv kb(\mod m) \Leftarrow\Rightarrow m\mid k(a-b) \Leftarrow\Rightarrow \dfrac{m}{gcd(m,k)}\Bigg|\dfrac{k}{gcd(m,k)}(a-b) \]

就得到了 \(\dfrac{m}{gcd(m,k)}\Bigg|(a-b) \Leftarrow\Rightarrow a \equiv b (\mod \dfrac{m}{gcd(m,k)})\) (消去 \(\dfrac{k}{gcd(m,k)}\) 是因为 \(gcd(\dfrac{m}{gcd(m,k)},\dfrac{k}{gcd(m,k)})=1\)), 常用的特殊形式就是 \(k\)\(m\) 互质的时候直接消去 \(k\) 而恒等式的其他部分不做任何变化。


剩余系

膜法剩余系

对于一个数 \(m\), 称膜 \(m\) 的剩余系是 \(\{0,1,2,\cdots,m-1\}\)

简化剩余系

对于一个数 \(m\), 称膜 \(m\) 的简化剩余系是 \(\{x\mid x在 m的膜法剩余系中且 gcd(x,m)=1\}\)

逆元

基本概念和线性同余方程解法

逆元就是 inv, inv 就是逆元。

对于一个二元运算, 恒等元(幺元)就是任何元素 \(x\) 和它运算的结果都是这个原来这个元素 \(x\) 的元素。

一个元素运算上它的逆元等于幺元, 很显然一个数的逆元是唯一的。

对于膜 \(m\) 剩余系里的数, 一个数 \(x\) 的逆元就是元素 \(y\) 使得 \(x*y\equiv 1(\mod m)\)

然而数 \(x\) 并不一定存在逆元。

对于膜 \(m\) 剩余系里的元素, 只有它同时在膜 \(m\) 的简化剩余系的时候, 它才有逆元。

可以用裴蜀定理来证明, 这是因为:

\[ax\equiv b(\mod m) \Leftarrow\Rightarrow ax+my = b \]

欧拉定理解法

\(gcd(a,m)=1\) 的情况下,有:

\[a^{\varphi(m)} \equiv 1(\mod m) \]

也就是 \(a^{\varphi(m)-1} = inv(a) \mod m\) , 当 \(m\) 为素数时 \(\varphi(m)=m-1\)

证明:\(m\) 的简化剩余系为 \(\sf\{t_1,t_2,\cdots,t_{\varphi(m)}\}\) , 显然对于一个与 \(m\) 互质的数 \(a\)\(\sf\{t_1,t_2,\cdots,t_{\varphi(m)}\} = \{a*t_1,a*t_2,\cdots,a*t_{\varphi(m)}\}\) , 这是因为 \(a*t_i \equiv a*t_j (\mod m) \Leftarrow\Rightarrow a_i \equiv a_j(\mod m)\)(还记得同余恒等式的“消去”吗?), 与集合的不可重复性矛盾。

这就得出了:

\[t_1*t_2*\cdots*t_{\varphi(m)} \equiv a^{\varphi(m)} * t_1*t_2*\cdots*t_{\varphi(m)} (\mod m) \]

由于膜 \(m\) 简化剩余系里的数与 \(m\) 都互质, 所以可以消去, 最终得到:

\[a^{\varphi(m)} \equiv 1 (\mod m) \tag{gcd(a,m)=1} \]

posted @ 2020-09-27 17:53  xwmwr  阅读(377)  评论(0编辑  收藏  举报