快速幂 & 逆元

快速幂

ll qpow(ll a, ll b)
{
    ll t = 1;
    for(; b; b >>= 1, a = a * a % mod)
        if(b & 1)  t = t * a % mod;
    return t;
}

 

求逆元:

a * a-1 ≡ 1 (mod p),我们就称 a-1 为 在模 意义下的逆元。

求解逆元的方法主要有如下三种,本篇只介绍使用扩展欧几里得的方法,其余方法各位可自行了解。

1、费马小定理,限制 p 必须为质数。

a/b % mod == a * bmod - 2 (模意义下)

2、欧拉定理。 

3、扩展欧几里得

https://www.luogu.com.cn/problem/solution/P1495

乘法和加法可以随便取模

a * b == (a + k1 * mod)*(b + k2 * mod)  (模意义下)

posted @ 2020-11-06 00:19  .Ivorelectra  阅读(54)  评论(0编辑  收藏  举报