AcWing 885. 求组合数 I(递推式预处理)
题面连接
https://www.acwing.com/problem/content/887/
思路
通过组合数学的知识我们能知道Cab=Ca−1b+Ca−1b−1C_a^b = C_{a-1}^b + C_{a-1}^{b-1}Cab=Ca−1b+Ca−1b−1的,等式的右边表示的是从a−1a-1a−1个数中选取b−1b-1b−1个数以及从a−1a-1a−1个数中选取bbb个数的情况,分别对应了当前第bbb个数选择和不选择的情况(好像和背包的思想有点相似),然后我们就能通过递推式来求得2000以内的所有组合数,详情请看代码
代码
#include<bits/stdc++.h>
using namespace std;
//----------------自定义部分----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3fint dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e3+10;
//----------------自定义部分----------------
ll t,n,m,q,c[N][N];void init(){for(int i = 0;i < N; ++i) c[i][0] = 1;//初始化选0的情况for(int i = 1;i < N; ++i) {for(int j = 1;j <= i; ++j) {c[i][j] = (c[i-1][j] + c[i-1][j-1]) % mod;}}
}
void slove(){ll a,b;cin>>a>>b;cout<<c[a][b]<<endl;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);init();cin>>t;while(t--){slove();}return 0;
}
AcWing 885. 求组合数 I(递推式预处理)相关推荐
- [AcWing]885. 求组合数 I(C++实现)求组合数模板题
[AcWing]885. 求组合数 I(C++实现)求组合数第一种题型模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...
- 算法分析中递推式的一般代数解法
算法分析中经常遇到需要求解递推式的情况,即将递推式改写为等价的封闭形式.例如汉诺塔问题的时间复杂度递推形式为T(n)=2T(n−1)+1(n≥1)T(n)=2T(n−1)+1(n≥1),可以解出封闭形 ...
- UVA - 10253 Series-Parallel Networks(递推式、记忆化搜索写法)
题目:UVA-10253 题目翻译(来自蓝书): 串并联网络有两个端点,一个叫源,一个叫汇,递归定义如下: (1) 一条单独的边是串并联网络. (2) 若G1和G2是串并联网络,把它们的源和源接在一起 ...
- 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)
这里所有的内容都将有关于一个线性递推: $f_{n} = \sum\limits_{i = 1}^{k} a_{i} * f_{n - i}$,其中$f_{0}, f_{1}, ... , f_{k ...
- hdu 2604 Queuing AC自动机构造递推式-矩阵-结果
http://acm.hdu.edu.cn/showproblem.php?pid=2604 题意: L个人排队,这一队里男性用m表示,女性用f表示,问长度为L的序列里面不包含形如"fmf& ...
- 2019蓝桥杯A组:数列求值(递推式)
三.题目:数列求值 给定数列 1, 1, 1, 3, 5, 9, 17, -,从第 4 项开始,每项都是前 3 项的和.求 第 20190324 项的最后 4 位数字. [答案提交] 这是一道结果填空 ...
- 高等数学:数列前后项【递推式的单调性】与【整个数列单调性】的关系
数列前[后项递推式的单调性]与[数列单调性]的关系 总的来说,递推函数虽然描述的只是相邻两项的大小关系,但也与整个数列的单调性有一定的联系.系如果数列的递推公式大于零,则数列单调,如果数列的递推公式小 ...
- 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )
文章目录 一.二项式定理 二.组合恒等式 ( 递推式 1 ) 三.组合恒等式 ( 递推式 2 ) 四.组合恒等式 ( 递推式 3 ) 帕斯卡 / 杨辉三角公式 五.组合分析方法 六.递推式组合恒等式特 ...
- 特征方程求数列的通项公式(二阶线性递推式)
特征方程求数列的通项公式(二阶线性递推式) 已知数列{an}\{a_n\}{an}满足fn=afn−1+bfn−2,a,b∈N,b≠0,n>2,f1=c1,f2=c2,(c1,c2f_n=af ...
最新文章
- sqlserver sql行专列_sqlserver----记录转载(行转列)、列转行、pivot、unpivot
- 学计算机买笔记本是i5 i7,i7不一定比i5好!懂电脑的人选择买i5,而不是i7,究竟怎么回事?...
- 递归下降分析法(编译原理)
- python实现界面自由切换_PyQt实现界面翻转切换效果
- 关于 Linux 操作
- python中的sklearn.svm.svr_python机器学习库scikit-learn:SVR的基本应用
- Nhibernate出现No row with the given identifier exists问题的产生原因及解决方法
- createprocess 系统找不到指定的文件_告别文件混乱和找不到,文件管理的新思路...
- Linq之动态条件(1)
- redis 备份导出rdb_Redis学习——Redis持久化之RDB备份方式保存数据
- ANDROID L——Material Design详解(UI控件)
- 基姆拉尔森计算公式---计算星期几
- Uni-app 小程序 App 的广告变现之路:激励视频广告
- 撒金币动画android,Anime Gacha
- 通用人工智能最新突破!一个Transformer搞定一切
- a foreign key constraint fails
- keil软件仿真时如何使用逻辑分析仪查看波形
- 计算机软考证书全面分析
- python+VBA实现照片转Excel
- Unity实用小工具或脚本——可折叠伸缩的多级(至少三级)内容列表(类似于Unity的Hierarchy视图中的折叠效果)