如果 test#3 WA 第158行
查看原帖
如果 test#3 WA 第158行
590864
Yizhixiaoyun楼主2022/9/13 17:18

错误的快速幂:

int binpow(int a,int b,int MOD){
  	int res=1;
  	while(b>0){
    	if(b&1) res=res*a%MOD;
    	a=a*a%MOD;
    	b>>=1;
  	}
  	return res;
}

正确的快速幂:

int binpow(int x,int y,int MOD){
    int res=1;
    int base=x%MOD; //请一定记住!!!
    while(y){
        if(y&1) res=res*base%MOD;
        base=base*base%MOD;
        y>>=1;
    }
    return res;
}

警钟长鸣

2022/9/13 17:18
加载中...