组合数求模模板

来源:互联网 发布:香橙派 ubuntu 编辑:程序博客网 时间:2024/05/19 13:45

对于两个较小数的组合数求模的方法可以利用递推公式+记忆化搜索得到

需要用到时提前预处理一下,然后直接从数组里取值就可以了

int C(int n,int k){    if(k>n)        return 0;    return num[n][k];}void Cal(int n){    for(int i=0;i<=n;++i){        num[i][0]=1;        for(int j=1;j<i;++j)            num[i][j]=(C(i-1,j-1)%mod+C(i-1,j)%mod)%mod;        num[i][i]=1;    }}