【数论】【逆元】【O(n)时间求出1~n对模MOD的逆元】

2019-04-14 12:54发布

传送门:http://www.2cto.com/kf/201401/272375.htm 新学的一个求逆元的方法: inv[i] = ( MOD - MOD / i ) * inv[MOD%i] % MOD 证明: 设t = MOD / i , k = MOD % i 则有 t * i + k == 0 % MOD 有 -t * i == k % MOD 两边同时除以ik得到 -t * inv[k] == inv[i] % MOD 即 inv[i] == -MOD / i * inv[MOD%i] 即 inv[i] == ( MOD - MOD / i) * inv[MOD%i] 证毕 适用于MOD是质数的情况,能够O(n)时间求出1~n对模MOD的逆