zoukankan      html  css  js  c++  java
  • 学习:数学----容斥原理

    容斥原理是概率统计中的一条定理,它主要用来求一些集合的并集,由于这些集合可能有交集,所以它们的并集可能不是简单的相加减,而容斥原理,就可以很好地用数学公式的形式来求得集合的并集

     

    容斥原理


     

      原理:

      先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。

      公式

      $(A_{1} cup A_{2} cup A_{3} cup ... cup A_{n})=sum_{0<ile n} A_{i}-sum_{0<i<jle n} (A_{i} cap A_{j})+sum_{0<i<j<kle n}(A_{i}cap A_{j}cap A_{j})+...+(-1)^{n+1}(A_{1} cap A_{2}cap A_{3}cap ... cap A_{n}) $

    ps:这公式我也记不住,放在这里只是摆设,下面我将介绍容斥原理的基本逻辑

      

    容斥原理,容的是单一,斥的是重复,如下图ven图所示:

     

    从图中可以看到:

      $A_{1},A_{2},A_{3}$为三个事件,它们各有属于自己独立的事件,也有和其他事件相交的事件,正因为如此,如果要求三个事件的并集,并不只是简单的把三个事件通过直接加和来得到,还需将重复的部分给“斥”出去

      如图所示:$A_{1}=B_{1} cup B_{4} cup B_{6} cup B_{7}$

           $A_{2}=B_{2} cup B_{5} cup B_{6} cup B_{7}$

           $A_{3}=B_{3} cup B_{4} cup B_{5} cup B_{7}$

      故:$A_{1} cup A_{2} cup A_{3}=B_{1} cup B_{2} cup B_{3} cup B_{4} cup B_{5} cup B_{6} cup B_{7}$

    接下来,需要把$A_{1} cup A_{2} cup A_{3}$变形:

      (1)  先求$A_{1}+ A_{2}+ A_{3}$全“容”

      (2)  已知$A_{1}+ A_{2}+ A_{3}$包括了$A_{1} cup A_{2} cup A_{3}$,但$A_{1},A_{2},A_{3}$两两相交的部分($B_{6}+B_{7},B_{4}+B_{7},B_{5}+B_{7}$)被包含了两次,于是需要将这些重复的部分“斥”掉(选“斥”),得到:

            $A_{1}+ A_{2}+ A_{3}- (B_{6}+ B_{7}+ B_{4}+ B_{7}+ B_{5}+ B_{7})=A_{1}+ A_{2}+ A_{3}$

    $-(A_{1} cap A_{2}+ A_{1} cap A_{3}+ A_{2} cap A_{3})$

      (3)  虽然减掉了重复的部分,但是发现$A_{1},A_{2},A_{3}$所具有的的共同事件$B_{7}$被重复“斥”掉了一次,需要将$B_{7}$“容回来”(选“容”),得到$A_{1} cup A_{2} cup A_{3}$:

            $A_{1}+ A_{2}+ A_{3}- (B_{6}+ B_{7}+ B_{4}+ B_{7}+ B_{5}+ B_{7})+B_{7}=A_{1}+ A_{2}+ A_{3}$

    $-(A_{1} cap A_{2}+ A_{1} cap A_{3}+ A_{2} cap A_{3})+ A_{1} cap A_{2}cap A_{3}$

     

    最后:

      $A_{1}+ A_{2}+ A_{3}=sum_{0<ile 3} A_{i}$

      $A_{1} cap A_{2}+ A_{1} cap A_{3}+ A_{2} cap A_{3}=sum_{0<i<jle 3} (A_{i} cap A_{j})$

      $A_{1} cap A_{2}cap A_{3}=sum_{0<i<j<kle n}(A_{i}cap A_{j}cap A_{j})$

    得到:

      $A_{1} cup A_{2} cup A_{3}=sum_{0<ile 3} A_{i}-sum_{0<i<jle 3} (A_{i} cap A_{j})+sum_{0<i<j<kle n}(A_{i}cap A_{j}cap A_{j})$(n=3的容斥原理)

     

      从这个例子,我们可以看出,容斥原理的公式就是容(+)与斥(-)不断平衡的过程,在平衡中不断靠近最终结果,直到最后一次平衡:“容”(“斥”)了所有事件的交集之后,就可以得到所有事件的并集。

    将n=3的容斥原理推广得到容斥原理:

    $(A_{1} cup A_{2} cup A_{3} cup ... cup A_{n})=$

    $sum_{0<ile n} A_{i}$

    $-sum_{0<i<jle n} (A_{i} cap A_{j})$

    $+sum_{0<i<j<kle n}(A_{i}cap A_{j}cap A_{j})$

    $-sum_{0<i<j<k<lle n}(A_{i}cap A_{j}cap A_{j}cap A_{j})$

    $+...$

    $+(-1)^{n+1}(A_{1} cap A_{2}cap A_{3}cap ... cap A_{n}) $


    例题


    1.牛客练习赛44----C-小y的质数:https://blog.csdn.net/weixin_43702895/article/details/89470622

  • 相关阅读:
    我的物联网项目(七)前期线上事故
    我的物联网项目(六)推广策略
    我的物联网项目(五)下单渠道
    我的物联网项目(四)订单系统
    我的物联网项目(三)平台架构
    我的物联网项目(二)初建团队
    我的物联网项目(一)开端
    從需求分析開始
    提升GDI画图的效率
    C#写COM组件,JS调用控件
  • 原文地址:https://www.cnblogs.com/qiyueliu/p/11691768.html
Copyright © 2011-2022 走看看