码迷,mamicode.com
首页 > 其他好文 > 详细

容斥原理

时间:2020-08-02 19:59:47      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:height   line   多个   过程   通过   数学公式   com   数学   https   

容斥原理

用于计算多个集合并集的大小。

技术图片

\[\small\text{一张用烂的图} \]

\[\small\text{from Wikipedia} \]

先将所有 单个集合 的大小计算出来,减去所有 两个集合 相交的部分,加回所有 三个集合 相交的部分,减去所有 四个集合 相交的部分,依此类推,一直计算到 所有集合 相交的部分。

写成数学公式形式:

\[{\displaystyle {\begin{aligned}\left|\bigcup _{i=1}^{n}A_{i}\right|={}&\sum _{i=1}^{n}|A_{i}|-\sum _{1\leq i<j\leq n}|A_{i}\cap A_{j}|+\sum _{1\leq i<j<k\leq n}|A_{i}\cap A_{j}\cap A_{k}|-\cdots +(-1)^{n-1}\left|A_{1}\cap \cdots \cap A_{n}\right|.\end{aligned}}} \]

即为:

\[{\displaystyle \left|\bigcup _{i=1}^{n}A_{i}\right|=\sum _{k=1}^{n}(-1)^{k+1}\left(\sum _{1\leq i_{1}<\cdots <i_{k}\le n}|A_{i_{1}}\cap \cdots \cap A_{i_{k}}|\right)} \]

证明

需证明通过上述方法计算,每个元素仅被覆盖了一次。
考虑一个出现在 \(m\) 个集合中的元素 \(x\)

按照上述方法:

  1. 选取一个集合时,显然 \(x\) 在其中出现次数为 \({m\choose 1}\)
  2. 选取两个集合时,两集合贡献为其并集的大小。
    \(x\) 在两集合中均出现时 才有贡献。
    出现次数为 满足条件的方案数,即 \(-{m\choose 2}\)
  3. 选取三个集合时,分析过程同上,出现次数为 \({m\choose 3}\)
  4. 以此类推,选取集合数 \(>m\) 时,\(x\) 不会在并集中出现,失去贡献。

,则 \(x\) 的出现次数为:

\[\begin{aligned} Cnt =& {m\choose 1} - {m\choose 2} +... + (-1)^m{m\choose m}\ =& \sum_{i=1}^{m}(-1)^{i-1}{m\choose i} \end{aligned}\]

发现这玩意挺优美,考虑二项式定理:

\[\begin{aligned} Cnt =& \sum_{i=1}^{m}(-1)^{i-1}{m\choose i}\ = & -\sum_{i=1}^{m}(-1)^{i}{m\choose i}\ = &{m\choose 0} -{m\choose 0} -\sum_{i=1}^{m}(-1)^{i}{m\choose i}\ = &{m\choose 0} -\sum_{i=0}^{m}{m\choose i}(-1)^{i}\ = &1-(-1+1)^m\ = &1 \end{aligned}\]

得证。

交集

用全集减去 补集的并集 求得,即 补集的并集 的补集

\[\bigcap _{{i=1}}^{n}A_{i} = |U|-\left|\bigcup_{i=1}^n\overline{A_i}\right| = \overline {\bigcup _{{i=1}}^{n}\overline {A}_{i}} \]

正确性显然,略证:
\(\overline{A_i}\) 为除 \(A_i\) 外的元素。
\(\overline{A_i} \cup \overline{A_j}\) 为除 \(A_i\cap A_j\) 外的元素。
\(\left|\bigcup\limits_{i=1}^n\overline{A_i}\right|\) 则为除 \(\bigcap\limits_{{i=1}}^{n}A_{i}\) 外的元素。
其补集即为交集。


写在最后

水炊老师太神了吧 /fad
单马尾文文好可爱(

容斥原理

标签:height   line   多个   过程   通过   数学公式   com   数学   https   

原文地址:https://www.cnblogs.com/luckyblock/p/13420036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!