快速幂
【概述】
快速幂就是利用二进制的性质来快速计算底数的 n 次幂,时间复杂度为 O(log₂N)。这种算法在时间和空间上都做了尽可能的优化。
【引理】
积的模等于模的积的取模
【模板】
ll mode(ll a,ll b,ll mod)
{
ll sum = 1;
a = a % mod;
while (b > 0) {
if (b % 2)
sum = (sum * a) % mod;
b /= 2;
a = (a * a) % mod;
}
return sum;
}
具体的话可以看看大佬分析:
快速幂取模(详细)
数论–快速幂