容斥原理与广义容斥原理

  容斥原理一般用于解决‘至少’型问题,是一种很好用的计数方法。下面通过两个问题来了解容斥原理解决的问题类型,并推广容斥原理。

  问题1:某班考了数学和语文两门课程,其中数学满分的共15人,语文满分的共10人,两门课都满分的共3人,请问至少有1门课程得满分的共多少人?

  容斥问题的基本原理:

$$ \vert A \cup B \vert = \vert A \vert + \vert B \vert - \vert A \cap B \vert $$

  根据原理计算:15+10-3=22

  韦恩图很直观:

 

                 3+7+12=22

  该维恩图制作网站:http://bioinfogp.cnb.csic.es/tools/venny/

  问题2:某班考了语、数、外三门课程,其中数学满分的共10人,语文满分的共5人,英语满分的共11人,数学与语文都满分的共2人,数学与英语都满分的共5人,语文与英语的都满分的共3人,三门课都满分的共1人,请问至少有1门课程得满分的共多少人?

  维度增加了1维,计算方法稍有不同:

$$ \vert A \cup B \cup C \vert = \vert A \vert + \vert B \vert + \vert C \vert - \vert A \cap B \vert - \vert A \cap C \vert - \vert B \cap C \vert + \vert A \cap B \cap C \vert $$

  计算方法:10+5+11-2-5-3+1=17

  韦恩图:

                 1+1+1+1+4+4+5=17

  将问题推广到N维的情况,则得到容斥原理的更一般的公式形式:

$$ \vert A_1 \cup A_2  \cup ... \cup A_n \vert = \sum_{1 \leq i \leq n} \vert A_i \vert - \sum_{1 \leq i < j \leq n} \vert A_i \cap A_j \vert + \\ \sum_{1 \leq i < j < k \leq n} \vert A_i \cap A_j \cap A_k \vert - ... + (-1)^{n-1} \vert A_1 \cap A_2 \cap ... \cap A_n \vert $$

  上式可以紧凑的写成:

$$ \vert \bigcup_{i=1}^n A_i \vert = \sum_{k=1}^n (-1)^{k+1} (\sum_{1 \leq i_1 < ... < i_k \leq n} \vert A_{i_1} \cap ... \cap A_{i_k} \vert) $$

  对于上面这两个公式通过归纳法证明得到,参考:百度百科wikipedia

  广义容斥原理:可用与解决一类‘恰好’型问题。ps:挖个坑,改天再填。。。

转载于:https://www.cnblogs.com/darkchii/p/9167845.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值