EXCRT学习笔记
扩展中国剩余定理(EXCRT)
\[\begin{cases}
x \equiv b_1 \pmod{a_1} \\
x \equiv b_2 \pmod{a_2} \\
\vdots \\
x \equiv b_n \pmod{a_n}
\end{cases}
\]
观察这个式子,当模数不互质的时候中国剩余定理(CRT)已经不再适用,这时就请出比CRT功能更强的EXCRT,在竞赛中尤为常用。
下面朴素介绍:
做法其实就是把式子合二为一,做 \(n-1\) 次
比如合并
\[\begin{cases}
x \equiv b_1 \pmod{a_1} \\
x \equiv b_2 \pmod{a_2} \\
\end{cases}
\]
显然的,存在 \(p, q \in Z\), 使得
\[ x + a1*p = b1 \\
x + a2*q = b2\\
\]
消去$ x $ :
\[ a1 * p - a2 *q = b1 - b2
\]
这是形如 \(ax+by = c\) 的不定方程, 自然的,我们用裴祖定理判断有无解,用EXGCD求出\(a1 * p - a2 * q = gcd(a1, a2)\) 的一组特解,再乘上 \(\frac{b1 - b2}{gcd(a1, a2)}\) 可以得到特解 \(p_0, q_0\) , 于是就可以得到原方程的通解 :
\[ p = p_0 + \frac{a2}{gcd(a1, a2)} * k \\
q = q_0 + \frac{a1}{gcd(a1, a2)} * k
\]
又因为前面已知 $x = b1 - a1 * p $, 带入p可以得到 :
\[x = b1 - a1 * (p_0 + \frac{a2}{gcd(a1, a2)} * k)
\\
= b1 - a1 * p0 - \frac{a1 \ a2}{gcd(a1, a2)} * k
\\
= b1 - a1 * p0 - Lcm(a1, a2) * k
\]
最终我们得到了一个新的同余方程 :
\[ x \equiv b1 - a1 * p0 \pmod{Lcm(a1, a2)}
\]
## 小结
- EXCRT 通过 **两两合并** 逐步扩展模数(取最小公倍数)。
- 合并过程中利用 **扩展欧几里得** 求特解,并判断无解情况。
- 最终得到整个方程组的解(若存在)。
> 完结撒花 ✿✿ヽ(°▽°)ノ✿

浙公网安备 33010602011771号