组合数【模板】

直接求模板:
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;
    }
}



                                    
posted @ 2017-06-28 21:18  Archger  阅读(97)  评论(0编辑  收藏  举报