#include<iostream>
using namespace std;
const int MOD = 1e9 + 7;
long long ksm(long long a,long long b) {//快速幂 a ^ b b限定为自然数
long long res = 1;
while (b) {
if (b & 1) {
res = (res * a)%MOD;
}
b >>= 1;
a = a*a%MOD;
}
return res;
}
long long ksc(long long a,long long b) {//快速乘 a * b 限定a,b均为自然数
long long res = 0;
while (b) {
if (b & 1) {
res = (res +a)%MOD;
}
a =(a<<1)%MOD;
b >>= 1;
}
return res;
}
c++的快速幂模板,适用于大部分算法题。
若有缺陷还请指出!