社区讨论

萌新求助这样是不是不会溢出

P4777【模板】扩展中国剩余定理(EXCRT)参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lod9fvly
此快照首次捕获于
2023/10/31 02:55
2 年前
此快照最后确认于
2023/11/05 13:22
2 年前
查看原帖
假设有一组 {xa(modm1)xb(modm2)\begin{cases}x\equiv a\pmod{m_{1}}\\x\equiv b\pmod{m_{2}}\end{cases}
然后
k1m1+a=k2m2+b    k1m1k2m2=bak_{1}m_{1}+a=k_{2}m_{2}+b\iff k_{1}m_{1}-k_{2}m_{2}=b-a
然后我用 exgcd 求出 X,Ym1X+m2Y=gcd(m1,m2)X,Y\mid m_{1}X+m_{2}Y=\gcd(m_{1},m_{2})
假设 d=gcd(m1,m2)d=\gcd(m_{1},m_{2}) ,那么
k1X(ba)/d(modm2/d)    {k1m1/d(ba)/d(modm2/d)Xm1/d1(modm2/d)k_{1}\equiv X\cdot (b-a)/d\pmod{m_{2}/d}\impliedby\begin{cases}k_{1}\cdot m_{1}/d\equiv (b-a)/d\pmod{m_{2}/d}\\X\cdot m_{1}/d\equiv 1\pmod{m_{2}/d}\end{cases}
然后我直接令 x=k1m1+ax=k_{1}m_{1}+a ,这里不用二进制加法模拟乘法也不对最小公倍数取模,是不是没问题,只有在求 k1k_{1} 的时候才需要用二进制加法模拟乘法,这样对吗?

回复

3 条回复,欢迎继续交流。

正在加载回复...