1 条题解
-
0
【模板】扩展中国剩余定理(EXCRT)题解
思路
设已经合并的若干条同余式等价于
现在加入 。令 ,就需要解
记 。题目保证原方程组有解,因此 。两边同时除以 后得到
与 互质,可以用扩展欧几里得算法求出 在模 意义下的逆元,从而求得最小非负的 。新的模数为
再把 归一化到这个模数下即可。
第一档中模数依次整除。由于数据保证有解,最后一条同余式已经蕴含前面的所有同余式,所以直接输出 。
第二档中模数两两互质,可以使用普通中国剩余定理:对模数乘积 ,令 ,求 对 的逆元,将 求和后对 取模。
做法
初始令 。按输入顺序逐条合并同余式:
- 用扩展欧几里得算法求 以及相应系数。
- 在线性同余式中求出 对 的最小非负剩余。
- 更新 ,并对新模数 归一化。
- 更新 。
所有同余式处理完成后输出 。乘法使用 128 位整数完成,避免中间结果溢出。
正确性可以用归纳法证明。初始状态表示所有整数。假设当前的 恰好描述已经处理的同余式的全部解,线性同余式求出的 恰好使 同时满足新同余式;而 在模 意义下唯一,所以合并后的解恰好构成模 的一个剩余类。归纳可知最终 满足全部同余式,归一化后就是最小非负解。
复杂度
每次合并只进行一次扩展欧几里得运算,时间复杂度为 ,其中 ;额外空间复杂度为 。
- 1
信息
- ID
- 1017
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者