递归:O(logn)
ll inv(ll n)
{
if(n == 1) return 1;
return ((ll)mod - mod / n) * inv(mod % n, mod) % mod;
}
线性:O(n)
ll inv[maxn];
ll get_inv(ll n)
{
inv[1] = 1;
for (ll i = 2; i <= n; i++)
inv[i] = (mod - mod / i) * inv[mod % i] % mod;
}
递归:O(logn)
ll inv(ll n)
{
if(n == 1) return 1;
return ((ll)mod - mod / n) * inv(mod % n, mod) % mod;
}
线性:O(n)
ll inv[maxn];
ll get_inv(ll n)
{
inv[1] = 1;
for (ll i = 2; i <= n; i++)
inv[i] = (mod - mod / i) * inv[mod % i] % mod;
}