组合数学之容斥原理

组合数学之容斥原理组合数学之容斥原理在组合数学中 容斥是常常被用到的 我们总用容斥求解一些带有条件的组合数 容斥原理 具有性质 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)
上一篇 2025年6月19日 下午12:01
下一篇 2025年6月19日 下午12:22


相关推荐

  • flash做动画教程(基础篇)

    flash做动画教程(基础篇)第一步、软件的下载与安装FlashMX2004第二步、新建一个flash文档也就是场景一你可以右击空白的文档,作如下操作:一、改变文档的背景颜色二、根据自己制作gif动态图片的大小,来选择文档的宽高二、新建元件或者是导入外部图片有的图片是不需要自己加工的素材就从外部导入导入外部图片的步骤:文件-导入-导入到库-选择图片的位置…

    2022年4月28日
    62
  • 手动清除fun.xls.exe病毒的方法[通俗易懂]

    手动清除fun.xls.exe病毒的方法[通俗易懂](无法显示隐藏文件以及无法双击打开分区)用杀毒软件杀毒,所有驱动盘上的文件夹表现为不可见,实际为文件夹隐藏了。如何判断是中了该种病毒,可以通过在命令行下键入:cdC:’dir/ah如果有fun.x

    2022年7月3日
    31
  • 2014/08/24——升级stepbystep修复tc不刷新问题并加入杭电bc

    2014/08/24——升级stepbystep修复tc不刷新问题并加入杭电bc

    2022年1月24日
    43
  • java继承(implements与extends)总结

    java继承(implements与extends)总结关键字 implements 是一个类 实现一个接口用的关键字 它是用来实现接口中定义的抽象方法 实现一个接口 必须实现接口中的所有方法 使用 implements 关键字可以变相的使 java 具有多继承的特性 使用范围为类继承接口的情况 可以同时继承多个接口 接口跟接口之间采用逗号分隔 还有几点需要注意 1 接口可以被多重实现 implements 抽象类只能被单一继承 extends

    2026年3月19日
    2
  • 《算法和数据结构》算法篇

    《算法和数据结构》算法篇数据结构 动态规划 基础排序 暴力算法

    2026年3月18日
    2
  • lstm是rnn中的一种吗_经验公式是什么

    lstm是rnn中的一种吗_经验公式是什么前言好久没用正儿八经地写博客了,csdn居然也有了markdown的编辑器了,最近花了不少时间看RNN以及LSTM的论文,在组内『夜校』分享过了,再在这里总结一下发出来吧,按照我讲解的思路,理解RNN以及LSTM的算法流程并推导一遍应该是没有问题的。RNN最近做出了很多非常漂亮的成果,比如AlexGraves的手写文字生成、名声大振的『根据图片生成描述文字』、输出类似训练语料的文字等应用,都让人感

    2022年8月29日
    5

发表回复

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

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