当前位置: 首页 > 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






 

相关文章:

  • seaborn数据统计可视化-介绍
  • 业绩回暖、股价承压,三只松鼠赴港上市能否重构价值锚点?
  • 道可云人工智能每日资讯|“人工智能科技体验展”在中国科学技术馆举行
  • GTC2025全球流量大会:领驭科技以AI云端之力,助力中国企业出海破浪前行
  • SECS-I vs HSMS-SS vs HSMS-GS 通信控制对比明细表
  • 可编程控制器应用
  • 《Go 语言高并发爬虫开发:淘宝商品 API 实时采集与 ETL 数据处理管道》
  • jenkins容器提示磁盘空间过低
  • 记一次pdf转Word的技术经历
  • pdf.js移动端预览PDF文件时,支持双指缩放
  • EasyCVR视频汇聚平台助力大型生产监控项目摄像机选型与应用
  • 多模态大型模型,实现以人为中心的精细视频理解
  • Golang|分布式索引架构
  • Go 语言入门:(一) 环境安装
  • uniapp 微信小程序遇到的坑
  • 8.Three.js中的 StereoCamera 立体相机详解+示例代码
  • 鼠标获取坐标 vs 相机获取坐标
  • Vue 2 和 Vue 3 中 Vue 实例变量方法的功能差异对比,包含关键方法的详细说明和表格总结
  • 网工备考考纲变化总结
  • ElasticSearch深入解析(五):如何将一台电脑上的Elasticsearch服务迁移到另一台电脑上
  • 释新闻|西葡大停电为何规模大、恢复慢?可再生能源是罪魁祸首?
  • 瞄准“美丽健康”赛道,上海奉贤如何打造宜居宜业之城?
  • 滨江集团去年营收约691亿元,尚未结算的预收房款1253亿元
  • 持续更新丨伊朗港口爆炸事件已致406人受伤
  • 泽连斯基与特朗普进行简短会谈
  • 政治局会议:持续稳定和活跃资本市场