《Introductory Combinatorics Fifth Edition》学习笔记:

多重集合的排列:

设S是有k种不同类型对象的多重集合,每个元素都有无限的重复数。那么s的r排列数目是k^r.

例子:最多有4位的3进制数(3元数)的个数是多少?
分析:3^4=81。

设s是多重集合,有k种类型的对象,且每种类型的有限重复数是n1,n2,……,nk。s的大小是n=n1+n2+n3+……+nk。那么s的排列数目等于:result=n!/(n1!*n2!*……*nk!)

例子:词MISSISSIPPI中字母的排列数是?
分析:词含有的字母总个数是11,M:1,I:4,S:4,P:2。所以result=11!/(1*4!*4!*2!).

设n是正整数,并设n1,n2,……,nk是正整数且n=n1+n2+……+nk。把所有的对象划分成k个标有不同标签的盒子,且盒子们分别对应n1,n2,……,nk。那么划分的总方案数是: n!/(n1!*n2!*……nk!)。假如这些标签都是相同的或者说没有标签,并且n1=n2=……=nk,那么总数是n!/[k!*n1*n2*……*nk!].

例子:3种类型9个对象的多重集合s={3*a,2*b,4*c}。求s中8排列的个数?
分析:要排列的数目和对象的总个数不相同。分成3种情况讨论,s1={2a,2b,4c},s1=8!/(2!*2!*4!)=420; s2={3a,b,4c},s2=8!/(3!*1*4!)=280; s3={3a,2b,3c},s3=8!/(3!*2!*3!)=560. result=s1+s2+s3.

多重集合的组合:

通过一个例子来初步认识:设s={2a,1b,3c},那么s的3组合是:{2a,b},{2a,c},{a,b,c},{b,2c},{a,2c},{3c}。

设S是有k种类型对象的多重集合,每种元素均有无限的重复数。那么S的r组合的个数等于:C(r+k-1,r).
证明:S任何r组合一定呈现{x1*a1,x2*a2,……,xk*ak}的组合形式。x1+x2+……+xk=r.先将x系列数字分割成k部分,这样有了r+k-1个元素(要插入k-1个隔板,可以看做值为0的元素),用这些元素组成的一个r排列就是解。那么这样的排列个数是(r+k-1)!/(k-1)!/r!(除以同类型值的排列),即C(r+k-1,r)。

问题:一家面包店有8种炸面包圈。如果一盒内装有一打(12个)炸面包圈,那么能够装配多少类型的面包圈盒?
分析:和上面的知识点一样,12个x分成8份,然后选出12排列。result=C(12+8-1,12)。
问题:继续上面的问题,如果8种面包圈每一种都需要至少一个,那么结果的面包盒有多少个?
分析:变量代换x'=x-1,则8个x'的和是8x-8=12-8=4,result=C(4+8-1,4)。

组合问题中的每种类型的对象出现次数的下界可以通过变量代换来解决。

问题:x1+x2+x3+x4=20的整数解的个数是多少?其中x1>=3,x2>=1,x3>=0,x4>=5.
分析:y1=x1-3,y2=x2-1,y3=x3,y4=x4-5. y1+y2+y3+y4=20-9=11.result=C(11+4-1,11)=364.

多重集合的排列与组合相关推荐

  1. 多重集合的排列和组合问题

    多重集合的排列和组合问题 标签: permutationn2c扩展 2012-04-17 16:18 5671人阅读 评论(0) 收藏 举报  分类: 算法(12)  版权声明:本文为博主原创文章,未 ...

  2. 有关多重集合的排列和组合问题

    转载自大佬 一.先来回顾一下无重复元素的排列组合定义 排列,英文名为Permutation,是指从某元素集合中取出指定个数的元素进行排序 组合,英文名为Combination,是指从某元素集合中仅仅取 ...

  3. 高等组合学笔记(一)集合的计数,映射与集合的排列组合

    文章目录 第一章 组合分析概述 集合的计数 加法原理 乘法原理 映射 集合的排列与组合 集合的排列 集合的组合 其他计数方式--格路 第一章 组合分析概述 集合的计数 有限集合N{∣N∣:集合中元素的 ...

  4. 【组合数学】集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 )

    文章目录 一.集合排列 和 多重集排列问题 1 二. 集合排列 和 多重集排列问题 2 三. 找一一对应计算集合排列问题 ( 反向计算 ) 四. 圆排列问题 1 五. 集合交替排列问题 六. 圆排列问 ...

  5. 排列和组合简单的递归思路以及C++实现

    本文将讲解如何通过递归的方法实现全排列和组合,会详细讲解递归的思路,最后还会给出c++实现的源码.先前学习数据结构和算法的时候一直没有弄明白它们的递归思路,今日遇到,细一思考,发现并没有之前那么难,于 ...

  6. 排列与组合的一些定理(二)

    一,容斥原理 设S是一个集合,Ai 是S 中具有性质 Pi 的元素组成的子集合.那么,S中既不具有性质P1,也不具有性质P2,...更不具有性质Pn 的元素个数为: 二,容斥原理计算 有限制的重组合问 ...

  7. 算法之组合数学及其算法篇(一) ----- 排列与组合

    组合数学及其算法篇 前言 排列与组合 无重集的排列与组合 无重集的排列 应用例子 无重集的组合 应用例子 重集的排列和组合 重集的排列 重集的组合 前言 组合数学研究的对象是组态.所谓组态就是指若干个 ...

  8. 回溯算法团灭子集、排列、组合问题

    回溯算法团灭子集.排列.组合问题 一.子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] ...

  9. 用容斥原理计算具有有限重数的多重集合的 r-组合(附代码)

    有限重数的多重集合 定义:多重集合的元素的重数如果是有限个,那么就称它为有限重数的多重集合 M = { k 1 ⋅ a 1 , k 2 ⋅ a 2 , - , k n ⋅ a n } M = \{k_ ...

  10. (离散数学)排列与组合

    (7.17)熬个夜的博客哦 (部分题目参考离散数学及其应用 原书第7版 [(美)KENNETH H.ROSEN著:徐六通,杨娟,吴斌]) 前言: 对于这些问题,其实自从高中开始,我自己学的就不是很好, ...

最新文章

  1. 2021 年 5 月程序员工资统计,惨不忍睹。。。
  2. 关于Element中的clientWidth,scrollWidth,offsetWidth等属性详解
  3. 程序员最害怕的5件事,你中招了吗?
  4. 项目管理沙龙第五次聚会
  5. 【CVPR2019】完整论文列表二
  6. nodejs计算时间间隔_NodeJs笔记:setTimeout 或 setInterval 的间隔时间执行
  7. 驱动多个二相四线制步进电机的Proteus仿真
  8. 【iOS】NSNotification 常用方法
  9. Java实现网页滑动验证与短信验证码案例精析
  10. 使用C++实现FC红白机模拟器 概述
  11. JS函数传参长度限制
  12. 安装watchdog监控系统
  13. 某移动版网页源码留存
  14. 【“盛大游戏杯”第15届上海大学程序设计联赛 K】【贪心】购买装备
  15. 【产业互联网周报】微软、谷歌再布局边缘云;美团放弃公有云业务;开普云登陆科创板...
  16. 【Python百日进阶-Web开发-Feffery】Day418 - fac实例:dash+fac登录-Sqlite数据库
  17. 【Developer Log】ProGuard扰码web项目(WAR)
  18. lisp画弯箭头_在CAD中直接用命令画箭头
  19. 基于Seq2Seq的问答摘要与推理问题方案
  20. Soloπ 工具使用见解

热门文章

  1. 冥王星P的编曲日志《我们就这样溺死在漩涡里》
  2. 华硕鹰眼ZenFone Zoom推动潮流:比肩专业相机几率几何?
  3. 内存分配 与 const
  4. 高精度ua级恒流源_一种高精度可调恒流源电路的制作方法
  5. bluetooth 驱动 Makefile
  6. 手机OTG是什么功能,怎样使用?
  7. 酷睿i3 10105f参数 i310105f属于什么水平 i3 10105f性能怎么样
  8. 计算机开机键盘屏幕无反应,电脑开机后键盘显示器无反应怎么解决
  9. c#自动发送邮箱程序
  10. java pdf添加图片_Java编辑PDF写入文字 插入图片