crt:
问题:
求解形如:
的方程组
构造思想求解:
构造解 X = x1 + x2 + x3 +......+xn
其中 xi 的构造为 bi * (逆元项)*(消参项)
消参项: 使得 除了xi的其他项xj mod ai == 0
逆元项: 为消参项在mod ai 意义下的逆元 ,使得 bi * (逆元项)*(消参项)mod ai = bi mod ai
则: $$X\equiv b_{i}\ (mod\ a_{i} ) \ , 1\leq i\leq n $$ ,即满足要求.
不难想到消参项的构造 :
$$M_{i} = \prod_{1}^{n}b / b_{i}$$
又 ,对于通解X,任何 $ X + n*\prod_{1}^{n}b $ 都是可行解,
所以 ,令 $ t = \prod_{1}^{n}b / b_{i} $ , 则最小正整数解为 $(X\; mod \;t + t ) \;mod\; t$
伪代码:
1 → n 0 → ans for i = 1 to k n * n[i] → n for i = 1 to k n / n[i] → m inv(m, n[i]) → b // b * m mod n[i] = 1 (ans + m * b) mod n → ans return (ans mod t + t ) mod t
excrt:
即上述方程中ai不互质的情况 ,这样的话消参项的构造就不能保证ai本身不会被消了
但这种情况下,模数不互质的同余方程的解是有重叠的,可以用扩展欧几里得定理和线性同余方程的性质进行合并,详见: