TB椰程 TypeBuddy 打字搭子

组合数递推

CSP-J · 编程模板 · 片段 · cpp · 难度 3/5 · 共 489 字

杨辉三角递推 C(i,j)=左+上,取模防溢

  • 数学
  • 组合数

前置内容

正文

// 组合数:C(n,m) 选法数
// 杨辉三角递推:C(i,j)=左+上
// 边界 C(i,0)=C(i,i)=1
// 适合多次查询 n 不大
#include <cstdio>
long long c[1005][1005];
int n, m;
int main() {
    scanf("%d", &n);
    // 逐行递推杨辉三角
    for (int i = 0; i <= n; i++) {
        c[i][0] = 1;
        // 每行末尾也为 1
        c[i][i] = 1;
        for (int j = 1; j < i; j++)
            // 上 + 左 两格相加
            c[i][j] = (c[i - 1][j]
                + c[i - 1][j - 1])
                % 1000000007;
    }
    printf("%lld", c[n][2]);
    return 0;
}

CSP-J · 编程模板的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK