long long quickpow(long long m,long long n) { long long ans=1; while(n) { if(n&1) ans=(ans%mod)*(m%mod)%mod; n=n>>1; m=(m*m)%mod; } return ans; }
mod是要求的取mod值。至于矩阵的快速幂就把乘法和计算的对象换为矩阵的就行了。
时间: 2024-11-10 01:21:30
long long quickpow(long long m,long long n) { long long ans=1; while(n) { if(n&1) ans=(ans%mod)*(m%mod)%mod; n=n>>1; m=(m*m)%mod; } return ans; }
mod是要求的取mod值。至于矩阵的快速幂就把乘法和计算的对象换为矩阵的就行了。