본문 바로가기

PS/Study

모듈러 인버스 (modulo inverse)

반응형
typedef long long ll;
typedef pair<ll,ll> pii;
pll MInv(ll a, ll b) { // a : inverse n | b : modulo p
    if(!a) return {0,1};
    auto [p,q] = MInv(b%a,a);
    return {q-(b/a)*p,p};
}
v[0]=0, v[1]=1;
for(int i=2; i<=n; ++i) v[i]=v[M%i]*(M-M/i)%M; // v[n] : inverse n | M : modulo p

 

반응형

'PS > Study' 카테고리의 다른 글

알고리즘별 기본 문제 (수정 예정)  (0) 2021.08.19
카탈란 수 ( Catalan Number )  (0) 2021.08.18
에라토스테네스의 체  (0) 2021.08.09
N! mod P  (0) 2019.09.20
Lazy Propagation  (1) 2019.05.17