题面连接

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(递推式预处理)相关推荐

  1. [AcWing]885. 求组合数 I(C++实现)求组合数模板题

    [AcWing]885. 求组合数 I(C++实现)求组合数第一种题型模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...

  2. 算法分析中递推式的一般代数解法

    算法分析中经常遇到需要求解递推式的情况,即将递推式改写为等价的封闭形式.例如汉诺塔问题的时间复杂度递推形式为T(n)=2T(n−1)+1(n≥1)T(n)=2T(n−1)+1(n≥1),可以解出封闭形 ...

  3. UVA - 10253 Series-Parallel Networks(递推式、记忆化搜索写法)

    题目:UVA-10253 题目翻译(来自蓝书): 串并联网络有两个端点,一个叫源,一个叫汇,递归定义如下: (1) 一条单独的边是串并联网络. (2) 若G1和G2是串并联网络,把它们的源和源接在一起 ...

  4. 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)

    这里所有的内容都将有关于一个线性递推: $f_{n} = \sum\limits_{i = 1}^{k} a_{i} * f_{n - i}$,其中$f_{0}, f_{1}, ... , f_{k ...

  5. hdu 2604 Queuing AC自动机构造递推式-矩阵-结果

    http://acm.hdu.edu.cn/showproblem.php?pid=2604 题意: L个人排队,这一队里男性用m表示,女性用f表示,问长度为L的序列里面不包含形如"fmf& ...

  6. 2019蓝桥杯A组:数列求值(递推式)

    三.题目:数列求值 给定数列 1, 1, 1, 3, 5, 9, 17, -,从第 4 项开始,每项都是前 3 项的和.求 第 20190324 项的最后 4 位数字. [答案提交] 这是一道结果填空 ...

  7. 高等数学:数列前后项【递推式的单调性】与【整个数列单调性】的关系

    数列前[后项递推式的单调性]与[数列单调性]的关系 总的来说,递推函数虽然描述的只是相邻两项的大小关系,但也与整个数列的单调性有一定的联系.系如果数列的递推公式大于零,则数列单调,如果数列的递推公式小 ...

  8. 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )

    文章目录 一.二项式定理 二.组合恒等式 ( 递推式 1 ) 三.组合恒等式 ( 递推式 2 ) 四.组合恒等式 ( 递推式 3 ) 帕斯卡 / 杨辉三角公式 五.组合分析方法 六.递推式组合恒等式特 ...

  9. 特征方程求数列的通项公式(二阶线性递推式)

    特征方程求数列的通项公式(二阶线性递推式) 已知数列{an}\{a_n\}{an​}满足fn=afn−1+bfn−2,a,b∈N,b≠0,n>2,f1=c1,f2=c2,(c1,c2f_n=af ...

最新文章

  1. sqlserver sql行专列_sqlserver----记录转载(行转列)、列转行、pivot、unpivot
  2. 学计算机买笔记本是i5 i7,i7不一定比i5好!懂电脑的人选择买i5,而不是i7,究竟怎么回事?...
  3. 递归下降分析法(编译原理)
  4. python实现界面自由切换_PyQt实现界面翻转切换效果
  5. 关于 Linux 操作
  6. python中的sklearn.svm.svr_python机器学习库scikit-learn:SVR的基本应用
  7. Nhibernate出现No row with the given identifier exists问题的产生原因及解决方法
  8. createprocess 系统找不到指定的文件_告别文件混乱和找不到,文件管理的新思路...
  9. Linq之动态条件(1)
  10. redis 备份导出rdb_Redis学习——Redis持久化之RDB备份方式保存数据
  11. ANDROID L——Material Design详解(UI控件)
  12. 基姆拉尔森计算公式---计算星期几
  13. Uni-app 小程序 App 的广告变现之路:激励视频广告
  14. 撒金币动画android,Anime Gacha
  15. 通用人工智能最新突破!一个Transformer搞定一切
  16. a foreign key constraint fails
  17. keil软件仿真时如何使用逻辑分析仪查看波形
  18. 计算机软考证书全面分析
  19. python+VBA实现照片转Excel
  20. Unity实用小工具或脚本——可折叠伸缩的多级(至少三级)内容列表(类似于Unity的Hierarchy视图中的折叠效果)

热门文章

  1. Transformer入门Transformer和CNN之间的区别
  2. 《深入剖析Tomcat》源码
  3. JZOJ5197 C
  4. 谷歌浏览器input中的text 和 button 水平对齐的问题
  5. HDU 4283:You Are the One 区间DP好题
  6. 实验五 单表查询(V2.0版)
  7. zookeeper选举机制及相关概念
  8. 从一个activity返回
  9. java JDK设置环境变量
  10. MJRefresh实现刷新(使用它的Block方法)