当前位置: 首页 > news >正文

AcWing 885:求组合数 I ← 杨辉三角

【题目来源】
https://www.acwing.com/problem/content/887/

【题目描述】
给定 n 组询问,每组询问给定两个整数 a,b,请你输出
C(a,b) mod (10^9+7) 的值。

【输入格式】
第一行包含整数 n。
接下来 n 行,每行包含一组 a 和 b。

【输出格式】
共 n 行,每行输出一个询问的解。

【数据范围】
1≤n≤
10000,
1≤b≤a≤
2000

【输入样例】
3
3 1
5 3
2 2

【输出样例】
3
10
1

【算法分析】
● 本题利用公式 
C(i, j)=C(i-1, j-1)+C(i-1, j) 进行组合数求解。

● 杨辉三角是二项式系数在三角形中的一种几何排列。
(1)杨辉三角第 n 行包含 n 个数字,对应二项式 (a+b)ⁿ⁻¹ 展开式的系数。
(2)杨辉三角第 n 行第 k 个数等于组合数 C(n-1,k-1)。
(3)杨辉三角第 n 行的数字和为 2ⁿ⁻¹。
(4)杨辉三角左对齐后,沿‌ 45° 斜线‌(↙方向)的数字和构成斐波那契数列。


(5)杨辉三角左对齐后,第 i 行第 j 列的数=第 i-1 行第 j-1 列的数+第 i-1 行第 j 列的数。正是组合数性质 C(i, j)=C(i-1, j-1)+C(i-1, j) 的几何体现。


【算法代码】

#include<bits/stdc++.h>
using namespace std;int c[2005][2005];
const int mod=1e9+7;int main() {int n;cin>>n;for(int i=0; i<=2000; i++) {for(int j=0; j<=i; j++) {if(j==0) c[i][j]=1;else c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;}}while(n--) {int x,y;cin>>x>>y;cout<<c[x][y]<<endl;}return 0;
}/*
in:
3
3 1
5 3
2 2out:
3
10
1
*/



【参考文献】
https://www.acwing.com/solution/content/87578/
https://blog.csdn.net/hnjzsyjyj/article/details/147568269
https://www.acwing.com/solution/content/21902/
https://blog.51cto.com/u_15302000/4981839






 

http://www.xdnf.cn/news/193015.html

相关文章:

  • vs2022解决 此项目需要MFC库。从visual studio安装程序(单个组件选项卡)为正在使用的任何工具和体系结构安装他们问题
  • JQ6500语音模块详解(STM32)
  • C++ 之 【模拟实现 list(节点、迭代器、常见接口)】(将三个模板放在同一个命名空间就实现 list 啦)
  • 电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异
  • [ 问题解决 ] sqlite3.ProgrammingError: SQLite objects created in a thread can ...
  • mybatis的xml ${item}总是更新失败
  • npm init、换源问题踩坑
  • 【Python数据驱动决策】数据分析与可视化全流程实战指南
  • 论文导读 - 基于边缘计算、集成学习与传感器集群的便携式电子鼻系统
  • Vue基础(7)_计算属性
  • C++核心编程:类与对象全面解析
  • Infrared Finance:Berachain 生态的流动性支柱
  • 车载软件架构 --- AUTOSAR的方法论
  • SwiftUI 8.List介绍和使用
  • 零基础制作Freertos智能小车(教程非常简易)持续更新中....
  • DeepSeek创始人梁文峰是个什么样的人?
  • LLM - Large Language Model
  • Android Studio 中使用 SQLite 数据库开发完整指南(Kotlin版本)
  • Redis最佳实践
  • nginx代理websocket时ws遇到仅支持域名访问的处理
  • 23种设计模式 -- 工厂模式
  • 算力困局:AI 狂飙背后的能源枷锁与破局之道
  • 后端[特殊字符][特殊字符]看前端之Row与Col
  • 1.9多元函数积分学
  • Day15(贪心算法)——LeetCode121.买卖股票的最佳时机55.跳跃游戏
  • 【计网】计算机网络的类别与性能
  • Rust 学习笔记:修复所有权常见错误
  • cookie和session
  • Flink Checkpoint 与实时任务高可用保障机制实战
  • DBeaver详细安装步骤