如果你84pts,WA15
查看原帖
如果你84pts,WA15
616733
Lysea楼主2023/3/19 21:43

你是不是这样写扩欧了:

k=exgcd(a,m,x,y);
h=m/k;
x=((x*b/k)%h+h)%h;

其中的x*b很明显是两个longlong相乘。

那怎么办呢?

快速加,你值得拥有:

int ksj(int a,int b,int p){
	int ans=0;
	a%=p;
	while(b){
		if(b&1) ans=(ans+a)%p;
		b>>=1;
		a=(a+a)%p;
	}return ans%p;
}

这不算讨论区题解吧

2023/3/19 21:43
加载中...