Update numtheory.cpp

This commit is contained in:
Anthony Wang 2020-07-13 10:55:06 -05:00
parent 345ad1ac38
commit 3014121f4d

View file

@ -1,19 +1,19 @@
constexpr ll MOD = 1e9+7;
int fact[200002] = { 1 }, ifact[200002] = { 1 };
ll fact[200002] = { 1 }, ifact[200002] = { 1 };
int pw(int base, int exp) {
int res = 1;
ll pw(ll base, ll exp) {
ll res = 1;
while (exp) {
if (exp & 1) res = (ll)base * res % MOD;
exp >>= 1, base = (ll)base * base % MOD;
if (exp & 1) (res *= base) %= MOD;
exp >>= 1, (base *= base) %= MOD;
}
return res;
}
int inv(int x) { return pw(x, MOD - 2); }
ll inv(ll x) { return pw(x, MOD - 2); }
int nCr(int n, int k) { return (ll)fact[n] * ifact[k] % MOD * ifact[n - k] % MOD; }
ll nCr(int n, int k) { return fact[n] * ifact[k] % MOD * ifact[n - k] % MOD; }
for (int i = 0; i < N; ++i) {
fact[i + 1] = (i + 1ll) * fact[i] % MOD;