组合数【模板】
直接求模板:
int Combination(int n, int m) { int ans = 1; for (int i = n; i >= (n - m + 1); --i) ans *= i; while (m) ans /= m--; return ans; }使用递推:
C(n, m) = C(n -1, m - 1) + C(n - 1, m)
long long C[N][N]; void Combination(int maxn) { C[0][0] = 1; for(int i=1;i<=maxn;i++) { C[i][0] = 1; for(int j=1;j<=i;j++) C[i][j] = (C[i-1][j]+C[i-1][j-1])%MOD; } }
Fighting~