容斥原理

定理:
设P1、P2、…、Pm是S的对象所涉及的m个性质,
并设Ai={x:x属于S且x具有性质Pi} (1<=i<=m)是S的具有性质Pi的对象构成的子集
那么不具有性质P1,P2,…Pm的对象个数=
|S|-Σ|Ai|+Σ|Ai∩Aj|-Σ|Ai∩Aj∩Ak|+…+(-1)^m|A1∩A2∩…∩Am|
一般情况下,此式的项数为
C(m,0)+C(m,1)+C(m,2)+…+C(m,m)=2^m

推论:
集合S中至少具有性质P1、P2、…、Pm之一的对象个数为
Σ|Ai|-Σ|Ai∩Aj|+Σ|Ai∩Aj∩Ak|-……+(-1)……(m+1)|A1∩A2∩…∩Am|
证明:
集合S中至少具有性质P1、P2、…、Pm之一的对象个数
= 集合S-集合S中不具有性质P1,P2,…Pm的对象个数
= |S|-(|S|-Σ|Ai|+Σ|Ai∩Aj|-Σ|Ai∩Aj∩Ak|+…+(-1)^m|A1∩A2∩…∩Am|)
= Σ|Ai|-Σ|Ai∩Aj|+Σ|Ai∩Aj∩Ak|-……+(-1)……(m+1)|A1∩A2∩…∩Am|

例1:求M,A,T,H,I,S,F,U,N的排列中有多少排列使得单词 MATH,IS,FUN 都不作为连续字母出现在排列中
解:
1、|S|=9!
2、把MATH看成一个符号,集合S有6个元素,MATH,I,S,F,U,N 6!
同理,把IS,FUN看为一个符号 分别为 8!, 7!
3、A1∩A2 :MATH,IS,F,U,N 5个元素 5!
同理,A1∩A3,A2∩A3 分别为 4! 6!
4、A1∩A2∩A3:MATH,IS,FUN 3个元素 3!
∴ans=9!-6!-8!-7!+5!+4!+6!-3!
错解:
A1∩A2指的是集合MATH,IS,F,U,N ,不是集合 MATHIS,F,U,N

容斥原理的特殊情况:
假设在容斥原理中出现的集合A1∩A2∩A3∩…∩Ak的大小仅依赖k,而不依赖在交集中使用了哪k个集合,
那么存在常数a0,a1,a2,…,am使得
a0=|S|
a1=|A1|=|A2|=…=|Am|
a2=|A1∩A2|=……=|Am-1∩Am|
a3=|A1∩A2∩A3=……Am-2∩Am-1∩Am|
……
am=|A1∩A2∩A3∩……∩Am|
在这种情况下,容斥原理可以化简为
a0-C(m,1)*a1 + C(m,2)*a2 - C(m,3)*a3 +…+(-1)^m *C(m,m)am

注:例1不符合这种情况,因为与所选集合的字母数量有关,即依赖于在交集中使用了哪k个集合

由k种不同对象且每种对象具有无限重复数的多重集合的r组合个数=C(r+k-1,r)
那么如果是有限重复数呢?

例:确定多重集合T={3*a,4*b,5*c}的10组合数目
设集合S为集合W={∞*a,∞*b,∞*c}的10组合
设性质P1为W的10组合中,a出现>3次,P2为W的10组合中,b出现>4次,P3为W的10组合中,c出现>5次
那么ans=不具有性质P1P2P3的10组合的集合大小
|S|=C(10+3-1,10)
集合A1为W的10组合中,a至少出现4次的组合组成的。集合A1可以看做,集合W的6组合加入4的a,
所以|A1|=W的6组合数目=C(6+3-1,6)
同理,|A2|=C(5+3-1,5),|A2|=C(4+3-1,4)
集合A1∩A2是W的10组合中,a至少出现4次,b至少出现5次的集合组成的。可以看做集合W的1组合+4个a+5个b
所以|A1∩A2|=C(1+3-1,1)
同理,|A1∩A3|=C(0+3-1,0) |A2∩A3|=0
|A1∩A2∩A3|=0
把这些结果放到容斥原理中即可得出答案

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6613120.html

2017.3.24组合数学学习——容斥原理相关推荐

  1. 2017.3.29组合数学学习——帕斯卡三角形、二项式定理

    帕斯卡三角形(杨辉三角) n\k  0   1   2   3   4   5   6   7    8 0     1 1     1   1 2     1   2   1 3  1   3   ...

  2. 2017年6月份学习总结,读书《5个高效工作习惯,让你跟「瞎忙」划清界限》

    2017年6份学习总结,创建日期:2017-07-03 20:46:25,有删减: 文章是这文:https://mp.weixin.qq.com/s/wzxNbPiy0-JCTBShlKwoaQ,以下 ...

  3. 微软常用运行库合集自动安装 2017.06.24 X86X64

    相信使用windows的小伙伴们都遇到过运行库报错的问题,尤其是使用绿色软件的时候,比如QQ和PS,由于在精简的时候把运行库精简掉了,所以难免会出现运行库报错.除了市面上的盗版ghost系统会内置运行 ...

  4. 成都市等市州2015《四川省工程量清单计价定额》人工费调整的批复〔2017〕24

    四川省建设工程造价管理总站 川建价发[2017]24号 四川省建设工程造价管理总站关于对成都市等15个市.州2015年<四川省建设工程工程量清单计价定额>人工费调整的批复 各有关市.州工程 ...

  5. 回望2017,基于深度学习的NLP研究大盘点

    回望2017,基于深度学习的NLP研究大盘点 雷锋网 百家号01-0110:31 雷锋网 AI 科技评论按:本文是一篇发布于 tryolabs 的文章,作者 Javier Couto 针对 2017 ...

  6. 成都市等市、州2015年《工程量清单计价定额》人工费调整批复〔2017〕24

    四川省建设工程造价管理总站 川建价发[2017]24号 四川省建设工程造价管理总站 关于对成都市等15个市.州 2015年<四川省建设工程工程量清单计价定额> 人工费调整的批复 各有关市. ...

  7. 2017第24届中国国际汽车用品展览会会刊(参展商名录)

    2017第24届中国国际汽车用品展览会会刊(参展商名录) 展会名称: 2017第24届中国国际汽车用品展览会 所属展馆: 中国国际展览中心(新馆) 开展时间: 2017-02-17 至 02-20 参 ...

  8. 2017暑假 第四周 学习总结(复习)

    2017暑假 学习总结目录: 1 2 3 4 Time:7.24 ~ 7.30 Content 主要学习内容: ① 对象的创建和调用 ② 匿名对象 ③ 构造函数 ④ this的使用 ⑤ super的使 ...

  9. 组合数学:容斥原理(HDU1976)

    ●容斥原理所研究的问题是与若干有限集的交.并或差有关的计数. ●在实际中, 有时要计算具有某种性质的元素个数. 例: 某单位举办一个外语培训班, 开设英语, 法语两门课.设U为该单位所有人集合, A, ...

最新文章

  1. linux无法解析主机地址(could not resolve host)解决办法
  2. 用极大似然法估计因子载荷矩阵_第7章-因子分析.ppt
  3. Visual Studio Code / 开启自检文本编码方式的方法
  4. mysql 服务器性能,mysql服务器性能配置
  5. 微信小程序最新开发资源汇总,对学习微信小程序的新手有一定帮助
  6. cocos2dx Auto-batching的使用
  7. python 遍历数组gbk编码_python bytes和bytearray、编码和解码
  8. freeswitch 使用mysql替换默认的sqlite
  9. ACCESS网上书店数据库系统
  10. 百分百成功的ros安装教程,有手就能看懂!!!
  11. android- activity,Application,activity渲染xml文件
  12. ubuntu虚拟机启动失败黑屏解决方案及原因
  13. 一元非线性回归方程(matplotlib)
  14. 华硕X370 Pro更新BIOS后黑屏自救记录
  15. oracle mysql 28545,64位Linux系统Oracle 10g异构MySQL查询搭建过程
  16. 医院病案管理系统MRMS源码 病案管理 医院源码
  17. 免费在线使用微软文字转语音工具(附详细转换步骤)
  18. Error syncing pod, skipping: failed to “StartContainer“ for “POD“ with ErrImagePull: “image pull fai
  19. hadoop(五)-hdfs命令行基本命令
  20. 论文总结(一)—基于深度学习的普通遥感图像质量改进

热门文章

  1. Windows系统帮助中心程序的0day漏洞
  2. 如何在 Windows Server 2003 中创建漫游用户配置文件
  3. data center!
  4. 比较合适的工作看板组合形式
  5. r shiny app learning tutorial a sliderinput
  6. 【转】正则表达式简介及在C++11中的简单使用教程
  7. ubuntu添加dvd光盘源
  8. 协程实现爬虫的例子主要优势在于充分利用IO时间去请求其他的url
  9. php 常用设计模式demo
  10. 如何解决提示the operation % is undefined for the argument type string,int的错误