ACM模板——取模

Posted asurudo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM模板——取模相关的知识,希望对你有一定的参考价值。

技术图片
const ll mod = 1000000007;
ll mult_mod(ll a,ll b) //(a*b)%mod a,b,mod<2^63
{
    a %= mod;
    b %= mod;
    ll ans=0;
    while(b)
    {
        if(b&1)
        {
            ans=ans+a;
            if(ans>=mod)
            ans=ans-mod;
        }
        a=a<<1;
        if(a>=mod) a=a-mod;
        b=b>>1;
    }
    return ans;
}
积取模
技术图片
const ll mod = 1000000007;
ll pow_mod(ll a,ll b) // a^b%mod
{
    ll ans=1;
    a=a%mod;
    while(b)
    {
        if(b&1)
        {
            ans=mult_mod(ans,a);
        }
        a=mult_mod(a,a);
        b=b>>1;
    }
    return ans;
}
次方取模

 

以上是关于ACM模板——取模的主要内容,如果未能解决你的问题,请参考以下文章

ACM 取模

线段树

The 2018 ACM-ICPC China JiangSu Provincial Programming Contest快速幂取模及求逆元

费马小定理+快速幂取模ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段1——vue主模板