组合数学之容斥原理

组合数学之容斥原理组合数学之容斥原理在组合数学中 容斥是常常被用到的 我们总用容斥求解一些带有条件的组合数 容斥原理 具有性质 A 和性质 B 的元素个数等同于具有性质 A 的个数和具有性质 B 的个数的和再减去同时具有性质 A 和性质 B 的元素的个数 数学公式表示为 A B A B A B 图形表示为其中黄色区域就是我们所求 同样以此类推对于三个性质来说其数学公式为 A B C A B C

在组合数学中,容斥是常常被用到的,我们总用容斥求解一些带有条件的组合数。

  • 容斥原理:具有性质A和性质B的元素个数等同于具有性质A的个数和具有性质B的个数的和再减去同时具有性质A和性质B的元素的个数。
    数学公式表示为 |A∪B|=|A|+|B|-|A∩B|。
    图形表示为这里写图片描述
    其中黄色区域就是我们所求。
    同样以此类推对于三个性质来说其数学公式为|A∪B∪C|=|A|+|B|+|C|-|A∩B|-|A∩C|-|B∩C|+|A∩B∩C|
    为什么要加上最后那个呢?因为在减的过程中多减了一个。




  • 对于容斥原理来说比较常用的方法为递归法和二进制枚举法,二进制枚举的方法最大的好处是枚举出所有元素的子集。假设一个集合的元素有m个,则对于m长的二进制数来说就有m个1或0的位置,对于每一个1
    -就对应一个元素,整个二进制枚举完就是所有子集,从0到2^m就行。
  • 递归法则是利用dfs的思想进行搜索,检索每一种方案进行容斥。由于每一种题都有不同的搜索方法,没用统一的模板,就不弄代码了。
  • 在这其中都是奇数个性质加偶数个性质减,而如果所求的性质是相反的性质,则用总数减去。
  • 容斥原理开着简单,实际非常复杂,每一道题都用不同的性质容斥,但最终的思想是不变的,多做一些题就会慢慢积累经验最终由一个好的思想。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233815.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vbs代码未结束的字符串常量[通俗易懂]

    vbs代码未结束的字符串常量问题描述:  执行vbs脚本时提示“vbs代码未结束的字符串常量”原因:  vba的BUG,在连接字符串的最后一个字符是单个或多个“行”字(我这里是把“行”字删除就不报错)或者其他原因,会出现未结束的字符串常量解决:  这里使用的是notepadd++在编码或者格式里面将文件编码改成“转为ANSI编码”解决问题…

    2022年4月9日
    251
  • Java| 编译和反编译

    Java| 编译和反编译原文链接:http://www.yveshe.com/articles/2018/05/01/1525172129089.html什么是编程语言?在介绍编译和反编译之前,我们先来简单介绍下编程语言(ProgrammingLanguage)。编程语言(ProgrammingLanguage)分为低级语言(Low-levelLanguage)和高级语言(High-levelLa…

    2022年6月10日
    43
  • ORACLE存储过程的分支语法(IF语句)

    ORACLE存储过程的分支语法(IF语句)基本语法1.if条件then语句1;语句2;endif;2.if条件then语句序列1;esle语句序列;endif;3.if条件then语句;elsif语句then语句;else语句;endif;…

    2022年7月17日
    14
  • c语言之voliate「建议收藏」

    c语言之voliate「建议收藏」volatile:意思:“易变的”特点:1.告诉编译器不做任何优化2.用volatile定义的变量会在程序外被改变,每次使用都要在原始内存地址读取数据,不能被备份缺点:使用过多会降低代码性能使用场合:1.中断服务程序中为其他程序检测的变量,要用volaite2.多任务环境下各个任务间共享的标志,用volatile(操作系统)3.存储器映射的硬件寄存器用vol…

    2022年5月5日
    94
  • MyEclipse7.0破解下载

    MyEclipse7.0破解下载

    2021年11月16日
    66
  • 安装office2016时弹出microsoft setup bootstrapper已停止工作的解决办法

    安装office2016时弹出microsoft setup bootstrapper已停止工作的解决办法安装office2016时安装进度条走到最后又回滚,弹出microsoftsetupbootstrapper已停止工作,最后“安装出错”经过了1天的试尽了各种控制面板卸载、文件夹删除、office注册表删除等方法,最后用了以下方法才终于解决。希望没试过我这个方法的朋友们先试下这个方法。(⊙o⊙)…确认启动WindowsEventLog这个服务项。Windows系统的服务打开方…

    2022年7月20日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号