单纯的乘方:(运用位运算的好处就是增加运算速度)
ll POW(ll num,ll k)//num的k次方
{
ll ans=1;
while(k>0)
{
if(k&1)ans*=num;
num=num*num;
k>>=1;
}
return ans;
}
带mod P的乘方运算:
ll POW(ll num,ll k)//num的k次方
{
ll ans=1;
while(k>0)
{
if(k&1)ans*=num % mod;
num=num*num % mod;
k>>=1;
}
return ans;
}
矩阵快速幂:
定义矩阵乘法后用类似思路即可