[AcWing]885. 求组合数 I(C++实现)求组合数第一种题型模板题

  • 1. 题目
  • 2. 读题(需要重点注意的东西)
  • 3. 解法
  • 4. 可能有帮助的前置习题
  • 5. 所用到的数据结构与算法思想
  • 6. 总结

求组合数有很多种题型,我们需要根据输入的数据的范围来选哪种方式,具体的方式有如下几种:
主要是询问次数和数据大小的不同,对应了不同的解法
此外,另有高精度组合数和卡特兰数两种特例

1. 题目

2. 读题(需要重点注意的东西)

思路:

首先,要知道组合数是什么?公式是什么?
一般地,从a个不同的元素中,任取b(b≤a)个元素为一组,叫作从aa个不同元素中取出b个元素的一个组合,这个组合一共有多少组?
公式如下:

可以推出
(先取出1个元素,这个元素可能在b中,可能不在,所以有如下两种可能)

3. 解法

---------------------------------------------------解法---------------------------------------------------

#include <iostream>
#include <algorithm>using namespace std;const int N = 2010, mod = 1e9 + 7;int c[N][N];void init()
{for (int i = 0; i < N; i ++ )for (int j = 0; j <= i; j ++ )if (!j) c[i][j] = 1; // 如果j为0else c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % mod;
}int main()
{int n;init();scanf("%d", &n);while (n -- ){int a, b;scanf("%d%d", &a, &b);printf("%d\n", c[a][b]);}return 0;
}

4. 可能有帮助的前置习题

5. 所用到的数据结构与算法思想

  • 组合数

6. 总结

求组合数第一种题型的模板题,理解思路并背下代码。

[AcWing]885. 求组合数 I(C++实现)求组合数模板题相关推荐

  1. ACM-组合数学完全总结(知识点+模板)

    目录 排列 1.1不可重排列 1.2可重排列 1.3圆排列 1.4不尽相异元素全排列 1.5多重集的排列 组合 2.1不可重组合数 2.2可重组合 2.3不相邻组合 2.4多重集的组合 2.5常用组合 ...

  2. [AcWing]827. 双链表(C++实现)双链表模板题

    [AcWing]827. 双链表(C++实现)双链表模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 1. 题 ...

  3. python判断质数合数奇数偶数_Python 判断合数质数

    Python 判断合数质数 首先明确合数和质数的概念 合数: 自然数中除了能被 1 和本身整除之外, 还能被其他的数整除的数(4,6,9,10...)defheshu(m): list_a=[] fo ...

  4. [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题

    [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算 ...

  5. 相约2008:2008是一个合数,求出此合数最多由多少个最小不同质数和组成, 并按要求从小到大输出这些质数

    提示: 代码存在问题,这里找出 2008 最多由多少个不同的质数和组成,原先的思路是从最小开始入数组,直到总和大于2008,然后开始剔除,但是这种方法不对 这里为了方便考虑,可以试着将 2008 替换 ...

  6. 一个数如果除了 1 和自己还有其他约数,则称为一个合数。例如:1, 2, 3 不是合数,4, 6 是合数。 请问从 1 到 2020 一共有多少个合数

    一个数如果除了 1 和自己还有其他约数,则称为一个合数.例如:1, 2, 3 不是合数,4, 6 是合数. 请问从 1 到 2020 一共有多少个合数(java) public static void ...

  7. [AcWing] 9. 分组背包问题(C++实现)分组背包问题模板题

    [AcWing] 9. 分组背包问题(C++实现)分组背包问题模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 ...

  8. AcWing 885. 求组合数 I(递推式预处理)

    题面连接 https://www.acwing.com/problem/content/887/ 思路 通过组合数学的知识我们能知道Cab=Ca−1b+Ca−1b−1C_a^b = C_{a-1}^b ...

  9. AcWing 888. 求组合数 IV(高精度求组合数问题)

    题面连接 https://www.acwing.com/problem/content/890/ 思路 因为要用到高精度,那我们直接使用python就好,如果不使用python,那么我们可以将a!a! ...

最新文章

  1. 一首考研人不得不看的立志诗!!!!!!
  2. [以太坊源代码分析]III. 挖矿和共识算法的奥秘
  3. Vivado无法双击打开xpr工程文件的解决办法
  4. c语言 宏教程 pdf,C语言之详解_ifdef等宏.pdf
  5. 织梦内容管理系统(DedeCMS)
  6. 开源oa_圈子哥推荐一款基于 Spring Boot 开发 OA 开源产品,学习/搞外快都是不二选择!...
  7. 把区块链作为核心技术自主创新重要突破口:华为云可以做什么?【华为云分享】
  8. centos 管理记录(二)
  9. python访问excel的类_Python实现的Excel文件读写类
  10. 计算机维修技能训练,计算机维护维修技能训练指导书【参考】.doc
  11. 三款200万像素照相手机测评
  12. 如何将JavaScript转化成Swift?(二)
  13. 操作系统服务:OS模块
  14. 没有编程基础可以学python_没有任何编程基础可以直接学习python语言吗?学会后能够做什么?...
  15. 南阳oj-----Binary String Matching(string)
  16. java axis_Java 使用Axis实现WebService实例
  17. 如何利用净推荐值(NPS)测量用户忠诚度?
  18. Word 打印 PrintOut 方法
  19. matlab condest,Matlab关于几个函数
  20. 六种礼仪帮助你赢得面试

热门文章

  1. html让视频跟图片之间无缝,如何做到两个视频之间自然无缝衔接
  2. vue中实现无缝衔接的轮播效果
  3. Swift - QQ讨论组头像的实现 (多人聊天的组合头像)
  4. springboot静态文件乱码
  5. VarCards网址变更: 人类重大疾病基因变异解读数据库及分析平台
  6. win7如何设置wifi热点_win7设置wifi热点的方法
  7. 推荐系统lambda架构学习笔记之推荐系统(一)
  8. IDE和ACHI区别
  9. Flutter 使用环信即时通讯闪退解决办法
  10. 企业仓库管理系统的设计与实现(ASP.NET,SQL)