[数论] 中国剩余定理
//后台卡崩 迫于生计重敲
对于 同余方程组
设 前
则 前
对于 第
整理得到
对于上述不定方程 使用 exgcd模板 求解即可
对于
ll an[N],bn[N];
ll ans=1,x,y,M=1;
ll exgcd(ll a,ll b)
{
ll d;
if(b)
{
d=exgcd(b,a%b);
ll t=x;
x=y,y=t-a/b*y;
}
else
x=1,y=0,d=a;
return d;
}
for(int i=1;i<=n;i++)
{
ll a=M,b=bn[i];
ll d=exgcd(a,b),m=b/d;
ll c=((an[i]-ans)%b+b)%b;
x=x*(c/d)%m;
ans+=x*M;
M*=m;
ans=(ans%M+M)%M;
}
放大
当然可以 从
个人喜欢 一个完整的循环……