long long quickpow(long long a, long long b) {
if (b < 0) return 0;
long long ret = 1;
a %= mod;
while(b) {
if (b & 1) ret = (ret * a) % mod;
b >>= 1;
a = (a * a) % mod;
}
return ret;
}
long long mi(long long a,long long b)
{
if(b==0)
return 1;
long long res=mi(a*a,b/2);
if(b & 1)
res=res*a;
return res;
}
本作者建议用第一种,不要问为什么,大神都是这么用的;