中国剩余定理学习小结:
我们知道crt是用来合并n个一元线性同余方程,时间复杂度是O(n)。
具体如下:
x≡a1 (mod m1)
x≡a2 (mod m2)
x≡a3 (mod m3)
..
..
x≡an (mod mn)
怎样合并呢?
假设整数M=m1*m2....*mn;(保证m1..mn互质。)
设Mi=M/mi;(i=1..n;)即除了mi外n-1个数的乘积。
设ti为Mi的数论倒数,即tiMi≡1 (mod mi);
此时方程组的通解形式为:x=a1t1M1+a2t2M2...+antnMn+kM;(k为常数)。
在模m的意义下,x=a1t1M1+a2t2M2...+antnMn。
记得用扩展gcd求出逆元来算。
证明自行百度。