要解决的问题 给定求如果用常规的乘法运算和取余运算,可能会爆$int$或者爆$long long$.所以有什么好的方法呢? 模型构建 和快速幂一样的思路,用分治。 模板代码(快速乘+快速乘实现的快速幂) 12345678910111213141516171819202122232425 typedef long long ll;ll (ll a,ll b,ll mod) { ll ans=0; while(b) { if(b&1) ans+=a; a=(a+a)%mod; a%=mod; ans%=mod; b>>=1; } return ans;} ll qpow(ll a,ll b,ll mod) { //a^b%mod ll ans=1; while(b) { if(b&1) ans=qmul(ans,a,mod); a=qmul(a,a,mod); ans%=mod; a%=mod; b>>=1; } return ans;} 赞微海报分享
近期评论