1. 组合数的等价转换

  • 递推关系(降低规模):
⎧⎩⎨⎪⎪⎪⎪⎪⎪(nk)=nk(n−1k−1)(nk)=nn−k(n−1k){(nk)=nk(n−1k−1)(nk)=nn−k(n−1k)

\left\{ \begin{split} &\binom{n}{k}=\frac{n}{k}\binom{n-1}{k-1}\\ &\binom{n}{k}=\frac{n}{n-k}\binom{n-1}{k} \end{split} \right.

  • 拆分成两项

    (nk)=(n−1k)+(n−1k−1)(nk)=(n−1k)+(n−1k−1)

    \binom n k=\binom {n-1} k + \binom {n-1} {k-1}

    有如下两种形式的证明:

    • 根据组合数的定义((nk)=n!k!(n−k)!(nk)=n!k!(n−k)!\binom n k=\frac{n!}{k!(n-k)!}),各自展开进行证明;
    • 《算法导论》提供了另外的思路,从实际意义出发,(nk)(nk)\binom {n} k 表示 nnn 个对象中选择 k" role="presentation">kkk 个。考虑全体 nnn 个对象中的任意一个(是否被选中),根据其是否在最终选择的 k" role="presentation">kkk 个之中,可将 (nk)(nk)\binom n k 拆分成两项,

      • 在 kkk 中,即从余下的 n−1" role="presentation">n−1n−1n-1 个对象中选择 k−1k−1k-1 个对象:(n−1k−1)(n−1k−1)\binom {n-1}{k-1}
      • 不在 kkk 中,即从余下的 n−1" role="presentation">n−1n−1n-1 个对象中选择 kkk 个对象:(n−1k)" role="presentation">(n−1k)(n−1k)\binom {n-1} k

      因此有:(nk)=(n−1k)+(n−1k−1)(nk)=(n−1k)+(n−1k−1)\binom n k=\binom {n-1} k + \binom {n-1} {k-1}

【证明】【一题多解】【等价转换】—— 排列组合的计算相关推荐

  1. ## 【第8题】这是一道排列组合题

    题目:ABC159 - D - Banned K 题目原文请移步下面的链接 https://www.luogu.com.cn/problem/AT_abc159_d 参考题解:https://www. ...

  2. python 排列组合_Python计算生态jieba库和random库的综合运用之爬山篇

    本篇文章会利用python语言中的第三方库jieba库和标准库random库来对文件中的相关元素进行操作. 实践中文片段:"今天是个好天气,大家一起去爬山."该句子分为上下两部分, ...

  3. Python 排列组合的计算

    1. 调用 scipy 计算排列组合的具体数值 A23=6,(32)=3 >> from scipy.special import comb, perm >> perm(3, ...

  4. Python Tricks(二十一)—— 排列组合的计算

    使用循环: 阶乘的实现: def fac(n):r = 1.for i in range(1, n+1):r *= ireturn r 排列:Anm=m!n!=(m−n+1)⋯mA_m^n=\frac ...

  5. 【排列组合】计算组合数

    题目描述 已知C(m,n)表示从m个元素中取n个的组合数,又知 C(m,n)=C(m-1,n)+C(m-1,n-1); C(m,m)=1; C(m,1)=m; 请递归求出组合问题的解 输入 只有一行, ...

  6. c++ 排列组合_省考行测数量关系的老大难,排列组合的基本类型题及秒杀技巧...

    作者:步知公考上岸学员 Jud°米娅 不知不觉省考剩下50多天了,这50多天要想行测更上一层楼,除了保证资料分析等模块的准确率(70%-80%),数量关系也不可以丢太多的分数,而数量关系自认为最难的题 ...

  7. 第十三届蓝桥杯Python 大学B组真题详解

    第十三届蓝桥杯Python B组真题详解 试题A 排列字母 试题B 寻找整数 试题C 纸张尺寸 试题D 位数排序 试题E 蜂巢 试题F 消除游戏 试题G 全排列的价值 试题H 技能升级 试题I 最长不 ...

  8. 【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )

    文章目录 一.多重集组合 ( 所有元素重复度大于组合数 ) 二.多重集组合 所有元素重复度大于组合数 推导 1 ( 分割线推导 ) 二.多重集组合 所有元素重复度大于组合数 推导 2 ( 不定方程非负 ...

  9. 人工智能数学基础--概率与统计2:排列组合的表示方法、二项式系数及斯特林近似

    ### 引言 在很多情况样本空间的样本点数不是非常大,从而直接计数样本点数获得概率并不困难. 当然,有些问题直接计数实际上是不可能的.计数要使用**组合分析**,这也称为一种精细的计数方法. 这些组合 ...

最新文章

  1. java 短信平台_Java通过SMS短信平台实现发短信功能
  2. 作者赠送的《我的第一本c++书》收到啦
  3. mysql中存储过程另存为_转: MySQL中的存储过程
  4. 【机器学习基础】相当全面的时间序列基础教程总结
  5. sql server 2008学习6 更复杂的查询
  6. php中有size_t函数吗,lSize 命令/方法/函数
  7. Android WebView 开发详解(一)
  8. 《Python Cookbook 3rd》笔记(2.16):以指定列宽格式化字符串
  9. vue3.0 execle 导出功能实现
  10. Facebook提高工作效率的秘密 ,值得收藏
  11. Kubernetes安装部署
  12. ThreadLocal 原理和使用场景分析
  13. python点击网页元素_ios+python 简单的查找页面元素并点击,点击的时候出现问题,求指点...
  14. Vue3.0 项目创建
  15. 光谱数据处理及定量分析
  16. 一些有用软件收藏(更新中)
  17. python背单词程序设计_python背单词小程序
  18. 笔记本实现共享wifi上网
  19. window.open在苹果手机上失效的问题
  20. 王者怎么看微信以前玩过的服务器,王者荣耀如何查看微信帐号在那个区玩过

热门文章

  1. 如何在GO语言中使用Kubernetes API?
  2. Socket,CAsyncSocket,CSocket介绍
  3. linux c++ sqlite_SQLite 真的很容易编译 | Linux 中国
  4. idea package自动生成_IDEA自动生成pojo实体类模板
  5. WebService 代码创建E9流程
  6. Hadoop公司考试题(基础)
  7. c语言变量声明举例,C语言变量的定义和声明
  8. android mtk平台,android mtk平台默认输入法
  9. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...
  10. 两表查询很慢mysql_影响mysql性能的方面