对中国剩余定理的一点理解

网上只说了CRT的证明过程,但我这样的蒟蒻全程只是跟着题解思路跑,但是没理解这个证明过程是怎么想到的,最近想了一下,这样CRT的推导就比较自然了
一般形式:

\[ \begin{cases} & {x_{1} \equiv a_{1} \text {mod} m_{1} } \\ & {x_{2} \equiv a_{2} \text {mod} m_{2} } \\ &...\\ & x_{n} \equiv a_{n} \text {mod} m_{n} \end{cases} \]

第一步:构造一个特殊解
为了简单,我们假设最终的解由满足对应方程的解的几个部分组成
\(y_1\) \(y_2\) ... \(y_n\) 分别满足对应的方程组
一眼看穿法可得
那么为了保证加起来之后的模数不改变,\(y_i\) 以外的部分对第 \(i\) 个方程组的贡献为 \(0\)
\(y_j(j \neq i) \equiv 0 (\text{mod }m_i)\)
根据同余和整除的转化
所有的 \(y_j\) 均为 \(m_i\) 的倍数
这时候一个很明显的idea就来了:
\(a_i\) 显然是第 \(i\)个方程组的一个解
为了让 \(a_i\) 满足是其它模数的倍数
\(a_i\) 乘以\(m_j(j \neq i)\)
但是这样又会出来一个问题:现在\(a_i \times m_j\)不一定满足第 \(i\)个方程了
那么整出来一个逆元即可,
\(y_i = {a_i} \times {m_j} \times {m_j^-1}(\text{mod } m_i)\)
最后的解就是所有的\(y_i\)之和了

严谨证明见百度百科

第二步:构造一个通解,顺便证明这就是通解
充分性:存在解,则为这种形式
假设\(x_1\) \(x_2\)均满足上述方程组
\(x_1\) \(x_2\)在模上述数时同余,即在\(m_i\) 整除\(x1-x2\)
则根据同余定理5:
\(a \equiv b (mod m)\), \(a \equiv b (mod n)\)
\(a \equiv b (mod lcm(m,n))\)
\(M\)\(m_i\)之乘积
由于任意模数互质,所以\(x1 \equiv x2 (mod M)\)
所以\(x = kM+x0\)
必要性:若为这种形式,则为解
\(kM\)对每个方程组的贡献为\(0\),必要性显然
推论:在\((mod M)\)意义下只有一个唯一解

exCRT和CRT的共同点很少,只不过都用到了同余性质5:
\(a \equiv b (mod m)\), \(a \equiv b (mod n)\)
\(a \equiv b (mod lcm(m,n))\)
把这个式子反复应用,就是exCRT
exCRT的逆命题也是成立的,正确性显然
\(d = gcd(m,n)\)
\(m' = m/d, n' = n/d\)
\(m'n'd'|a-b\)
\(m'd'|a-b\)\(n'd'|a-b\)
所以同余性质5是等价条件

原文地址:https://www.cnblogs.com/cdsidi/p/15555242.html