组合数学模板
1.组合公式C(n,r)
使用杨辉三角法
c数组定义为全局数组
const int mod=100007;int cmp(int n,int r) { for(int i=0;i<=n;i++) { c[i][0]=1; c[i][i]=1; } for(int i=2;i<=n;i++) { for(int j=1;j<=n;j++) { c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod; } } return c[n][r] }
知道数据范围,一次求多个
这里n的最大值为10000,r的最大值为100,根据题意自己更改;
void cmp() { c[0][0]=1; for (int i=1; i<=10000; i++) for (int j=0; j<=100; j++) c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod; }