zoukankan      html  css  js  c++  java
  • 容斥原理与广义容斥原理

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

      问题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 igcup_{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:挖个坑,改天再填。。。

  • 相关阅读:
    商户编号前三位代码对应的收单机构大全
    使用邮件模板(freemarker.jar)发送邮件
    Struts2自定义拦截器
    如何在jsp页面显示存储在数据库的图片
    正则表达式 大于0的数字(包含小数)
    Linux的关机命令
    maven的下载和安装
    web.py的安装
    安装第三方插件BeautifulSoup
    myeclipse离线安装pydev插件
  • 原文地址:https://www.cnblogs.com/darkchii/p/9167845.html
Copyright © 2011-2022 走看看