组合数
作者:
乐府解题
,
2023-06-11 15:30:16
,
所有人可见
,
阅读 140
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6 + 10;
const int mod = 998244353;
int fac[N], invfac[N];
int qmi(int a, int b = mod - 2) {
int res = 1;
while (b) {
if (b & 1) res = res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res;
}
void init() {
fac[0] = 1;
for (int i = 1; i < N; i++) fac[i] = fac[i - 1] * i % mod;
invfac[N - 1] = qmi(fac[N - 1]);
for (int i = N - 2; i >= 0; i--) invfac[i] = invfac[i + 1] * (i + 1) % mod;
}
int C(int a, int b) {
return fac[a] * invfac[b] % mod * invfac[a - b] % mod;
}
signed main() {
init();
}