【模板】快速计算组合数

C++版本:

快速计算组合数

void init(){
    fact[0] = 1;
    for(int i = 1; i <= maxn; ++i)
    fact[i] = fact[i-1]*i%mod;
    inv[maxn]=quickM(fact[maxn],mod-2);
    for(int i=maxn-1;i>=0;i--)
    {
        inv[i]=inv[i+1]*(i+1);
        inv[i]%=mod;
    }
}
LL C(int n, int m){
    return ((fact[n]*inv[m])%mod*(inv[n-m]))%mod;
}
posted @ 2020-09-13 19:36  pjhui  阅读(520)  评论(0编辑  收藏  举报