扩展中国剩余定理 (exCRT) 的证明与练习

原文链接https://www.cnblogs.com/zhouzhendong/p/exCRT.html

扩展中国剩余定理 (exCRT) 的证明与练习

问题模型

  给定同余方程组

$$\begin{cases}x&\equiv&x_1&\pmod {p_1}\\x&\equiv&x_2&\pmod {p_2}\\ &&\vdots\\x&\equiv&x_n&\pmod {p_n}\end{cases}$$

  求解 $x$ 在对 ${\rm lcm}(p_1,p_2,\cdots ,p_n)$ 取模的意义下的值,或判断无解。

证明

  我们只需要知道如何合并两个方程,就可以将原方程组逐个合并了,所以下面只介绍合并两个方程的方法。

$$\begin{eqnarray*}x&\equiv& a_1&\pmod {p_1}\\x&\equiv& a_2&\pmod {p_2}\end{eqnarray*}$$

  则 $x=a_1+k_1p_1=a_2+k_2p_2$ 。

  令 $p={\rm lcm}(p_1,p_2)$,需要求形同 $x\equiv a\pmod p$的一个式子。

$$\begin{eqnarray*}a_1+k_1p_1&\equiv&a_2+k_2p_2 &\pmod {p}\\a_2-a_1&\equiv&k_1p_1-k_2p_2 & \pmod {p}\end{eqnarray*}$$

  我们先用 exgcd 求解方程 $p_1x+p_2y=\gcd(p_1,p_2)$。设 $g=\gcd(p_1,p_2),z=a_2-a_1$。

  由于 $g|p$ ,所以,如果 $g|z$ 不成立,那么显然 $g+kp|z$ 也不成立,故无解。

  否则有解。记 $t=\frac zg$ ,则 $k_1=tx_1,k_2=-tx_2$,于是,$a\equiv a_1+k_1p_1\equiv a_2+k_2p_2\pmod p$ ,单次合并完成。

习题

模板题

  POJ2891

  注:由于博主是很久之前做这道模板题的,所以这份模板很丑。要看模板建议看下面的习题内的代码。

习题

  NOI2018Day2T1

 

posted @ 2018-08-07 18:31  zzd233  阅读(467)  评论(0编辑  收藏  举报