取模乘法
快速幂
在你保证两个数相乘不爆 long long 的情况下使用。
本质上是拆成二进制之后乘起来。
inline int qpow(int a,int b){
int res=1;
while(b){
if(b&1) res=mul(res,a);
a=mul(a,a);
b>>=1;
}
return res;
}
龟速乘
保证不了就只能用把普通乘法改成龟速乘了,虽然慢,但是不会爆炸。
本质上也是拆成二进制,但之后是加起来。
inline ll mul(ll a,ll b){
ll res=0;
while(b){
if(b&1) res=inc(res,a);
a=inc(a,a);
b>>=1;
}
return res;
}

浙公网安备 33010602011771号