加减乘除四个原理不再赘述。(即使小学生都会的原理也能出些大学生不会的题目)

1集合的排列(Pertutations of Sets)(无重有序)(无重复有序)

设r为正整数,把n个元素的集合S的一个r排列理解为n个元素中r个元素的有序摆放。其数目用P(n,r)表示

对正整数n和r,r<=n,有P(n,r) = n(n-1)(n-2)......(n-r+1) = n! / (n-r)!  (乘法原理证明)

若r>n,P(n,r)=0.并且有P(n,1)=n, P(n,n) = n!,定义P(n,0) = 1.

(在c++STL中,<algorithm>中有按照字典序产生排列的算法next_permutation和prev_permutation,函数返回bool值)

定理:n个元素的循环r排列(围成一个环)的个数是P(n,r)/r, 即n!/ (r(n-r)!), r= n时有(n-1)!

例如6个人围成环(固定一人)的方法有5!种。

2集合的组合(Combinations of Sets)(无重无序)

设r非负整数,理解为n中r个元素的无序选择。其数目记为C(n,r)

C(n,r) = P(n,r) / r!   = n! / (r!(n-r)!)        性质:C(n,r)=C(n,n-r)

定理:C(n,0) + C(n,1) + C(n,2) + ...... + C(n,n) = 2^n

3多重集的排列(Permutations of Multisets)(有重有序)(有重只多重集的结合元素是有重复的)

例如S={2.a, 1.b, 3.c}表示2个a,1个b,3个c。

定理1:令S是一个多重集,它有k个不同类型的元素,每一个元素都有无限个,那么S的r排列个数为k^r

定理2:令S是一个多重集,它有k个不同类型的元素,各元素重数分别是n1, n2, n3, ... ,nk。设S的大小n=n1+n2+...+nk,

则S的排列数为n! / (n1!n2!...nk!)

4多重集的集合(Combinations of Multisets)(有重无序)

定理:令S是一个多重集,它有k个不同类型的元素,每一个元素都有无限个,那么S的r排列个数为C(r+k-1,r)

元素有限个时需要用到容斥原理解决。

ps:简单总结了一下四种排列组合问题,要学好排列组合需要大量的练习,以上没有给出证明,只是用来做个总结回顾,需要的自己参考一下相关书籍。打字不容易,自学数学伤不起啊。

转载于:https://www.cnblogs.com/PegasusWang/archive/2013/01/22/2872312.html

组合数学之排列组合(Permutations and Combinations)(四种情况)相关推荐

  1. 【组合数学】递推方程 ( 常系数线性非齐次递推方程 的 非齐次部分是 多项式 与 指数 组合方式 | 通解的四种情况 )

    文章目录 一.常系数线性非齐次递推方程 的 非齐次部分是 多项式 与 指数 组合方式 二.递推方程通解的四种情况 一.常系数线性非齐次递推方程 的 非齐次部分是 多项式 与 指数 组合方式 如果 &q ...

  2. 【组合数学】排列组合 ( 多重集组合数示例 | 三个计数模型 | 选取问题 | 多重集组合问题 | 不定方程非负整数解问题 )

    文章目录 一.多重集组合示例 二.三个计数模型 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | ...

  3. 【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )

    文章目录 一.多重集 二.多重集全排列 三.多重集全排列示例 三.多重集非全排列 1 所有元素重复度大于排列数 ( ni≥rn_i \geq rni​≥r ) 四.多重集非全排列 2 某些元素重复度小 ...

  4. 【组合数学】排列组合 ( 两个计数原则、集合排列示例 | 集合排列、圆排列示例 )

    文章目录 一.两个计数原则.集合排列示例 二.集合排列.圆排列示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组 ...

  5. 【组合数学】排列组合 ( 集合排列、分步处理示例 )

    文章目录 一.集合排列.分步处理示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 ...

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

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

  7. 【组合数学】排列组合 ( 排列组合示例 )

    文章目录 一.排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 ) 二.排列组合示例 2 参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示 ...

  8. 【组合数学】排列组合 ( 集合组合、一一对应模型分析示例 )

    文章目录 一.集合组合.一一对应模型分析示例 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二 ...

  9. 【Kotlin】Kotlin 类的继承 二 ( 属性覆盖 | 属性覆盖的四种情况 | 常量 / 变量 属性覆盖 | 子类初始化与属性覆盖 )

    文章目录 I . 属性覆盖基本方式 II . 属性覆盖的四种情况 III . 常量 ( val ) / 变量 ( var ) 属性覆盖 IV . 子类初始化时考虑覆盖属性的使用 I . 属性覆盖基本方 ...

最新文章

  1. 【OpenCV 4开发详解】Laplacian算子
  2. 8、Python与设计模式--门面模式
  3. 微软软件保护平台 白皮书.pdf
  4. 阿里云云效如何保障双11大型项目管理
  5. map语法获取index_python获取慧聪企业信息
  6. 【转】两厢车与三厢车安全性哪个好?
  7. 微信小程序scroll-view去除滚动条 (安卓、ios都有效)
  8. 模仿豆丁、百度文库播放器
  9. C语言 main函数参数 argc,argv 用处,控制台应用程序模板2
  10. python json()是什么函数_python 处理 json 四个函数dumps、loads、dump、load的区别
  11. 江苏2021168查询高考成绩,重磅!高考成绩查询!!
  12. android模拟机型,(安卓)牛X分身 — 支持位置模拟机型修改
  13. 【京东】商品评价采集
  14. [MySQL远程备份策略举例]
  15. Python PIL调整图片大小、尺寸和转换图片格式,removebg改变图片背景、透明化处理
  16. 关于wap上网及彩信的一点想法
  17. 31、学习 Java 中的枚举类型
  18. eset nod32 最新升级ID(2009年2月3日更新)
  19. ubuntu 1604 修改mac地址
  20. 微信H5纯签约 提示“发起签约页面非法”

热门文章

  1. 出现(n+1)/2次的数 — 给n个数字,求至少出现(N+1)/2次的那个数字?
  2. bzoj 3393 bzoj 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课(BFS)
  3. HDU 5971 2016ICPC大连 A: Wrestling Match(二分图判断)
  4. splay区间翻转(bzoj 3223: Tyvj 1729 文艺平衡树)
  5. win7下U盘安装Ubuntu16.04双系统
  6. matlab imresize
  7. python中pickle模块讲解
  8. 吴恩达神经网络和深度学习-学习笔记-35-残差网络(Residual Network)
  9. Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)
  10. C# 设置Excel中的数字字符串格式