ll m[N],p[N];//p是质数,m是余数
ll Exgcd(ll a,ll b,ll &x,ll &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
ll x1,y1;
ll d=Exgcd(b,a%b,x1,y1);
x=y1;
y=x1-a/b*y1;
return d;
}
ll Crt(ll *m,ll *p,int l)
{
ll res=0,n=1,x,y;
for(int i=0;i<l;i++)
n*=p[i];
for(int i=0;i<l;i++)
{
ll t=n/p[i];
ll d=Exgcd(t,p[i],x,y);
res=(res+m[i]*t%n*x%n)%n;
}
return (res%n+n)%n;
}
中国剩余定理模板
最新推荐文章于 2022-11-01 22:50:30 发布