快速幂不用多说,快速乘是基于快速幂的,主要用在直接乘会爆 long long 的情况下。
//快速乘
inline ll qmul(ll a,ll b)
{
ll ret=0;a%=mod;
for(;b;b>>=1)
{
if(b&1)ret=(ret+a)%mod;
a=(a+a)%mod;
}
return ret;
}
//快速幂
inline ll qpow(ll a,ll b)
{
ll ret=1;a%=mod;
for(;b;b>>=1)
{
if(b&1)ret=qmul(ret,a);
a=qmul(a,a);
}
return ret;
}