首页 > 其他分享 >容斥原理 证明

容斥原理 证明

时间:2023-12-14 09:01:11浏览次数:37  
标签:名片 个数 sum 容斥 证明 overline 集合 原理 mathrm

Intro

容斥原理是表示集合元素个数之间的关系

公式如下:

\[|\bigcup_{i=1}^{n}(A_i)|=\sum_{i=1}^n |A_i|-\sum_{i<j} |A_iA_j|+\sum_{i<j<k} |A_iA_jA_k|-...+(-1)^{n-1} |A_1A_2...A_n| \]

其中,\(|A_n|\)表示集合\(A_n\)的元素个数


证明思路:

每个元素\(a\)在\(|\bigcup_{i=1}^{n}(A_i)|\)中的个数只算作一次,只要证明某元素\(a\in A\)在右侧的个数只算作一次即可。

证明:

设元素\(a\)包含在\(k\)个集合中出现

在右边公式第一项里,只要在该\(k\)个集合中某一个出现,就会计数一次,因此为\(k=\mathrm{C}_k^1\)

在右边公式第二项里,其为两个集合的交集,因此必须挑出该\(k\)个集合中的两个,其组成的交集才会计数一次,因此为\(\mathrm{C}_k^2\)

同理,第三项,其为三个集合的交集,因此必须在该\(k\)个集合中三个的交集组合,才会被计数一次,因此为\(\mathrm{C}_k^3\)

以此类推,在右边计数次数为\(\mathrm{C}_k^1-\mathrm{C}_k^2+\mathrm{C}_k^3-\mathrm{C}_k^4+...+(-1)^{n-1}\mathrm{C}_k^k=\sum_{i=0}^k(-1)^{i+1}\mathrm{C}_k^i+1=1\)

即证

\[|\bigcup_{i=1}^{n}(A_i)|=\sum_{i=1}^n |A_i|-\sum_{i<j} |A_iA_j|+\sum_{i<j<k} |A_iA_jA_k|-...+(-1)^{n-1} |A_1A_2...A_n| \]

其中,\(|A_n|\)表示集合\(A_n\)的元素个数

应用

错位排列

聚会上,n位同学将各自的名片放到桌子上,再将名片打乱后随机分配给这些同学,有多少种方式使他们中没有人能够拿到自己的名片?

首先需要对题目进行翻译,即相当于名片原来放在桌子上排成一列,现重新打乱顺序,而且要求新的顺序和旧的顺序没有一个重叠,即没有一个位置和原来是一样的。 不妨设\(|A_i|\)为第\(i\)个名片是在原来位置上的排列

则本题目等价于求解\(|\overline{A_1}\cap \overline{A_2}\cdots\cap\overline{A_n}|=|\overline{A_1\cup A_2\cdots \cup A_n}|\)
https://zhuanlan.zhihu.com/p/137941999

标签:名片,个数,sum,容斥,证明,overline,集合,原理,mathrm
From: https://www.cnblogs.com/sjtu-wu/p/16817491.html

相关文章

  • Java之Hashset的原理及解析
     4.数据结构4.1二叉树【理解】二叉树的特点二叉树中,任意一个节点的度要小于等于2节点:在树结构中,每一个元素称之为节点度:每一个节点的子节点数量称之为度二叉树结构图编辑4.2二叉查找树【理解】二叉查找树的特点二叉查找树,又称二叉排序树或者二叉搜索树每一个节点上最多有两......
  • 线程池的执行原理
    1.线程池的核心参数线程池七大核心参数如下所示:publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueue<Runnable>workQueue,ThreadFactorythreadFactory,......
  • Vite原理
    当前工程化的痛点在浏览器支持ESModule之前,JavaScript并没有提供原生机制让开发者以模块化的方式进行开发。这也是打包工具诞生的原因:使用工具抓取,处理并将源码模块串联成可以在浏览器中运行的文件。虽然现在有webpack,Rollup等工具,极大地改善了前端开发者的体验。但是当构建的......
  • ThreadLocal原理
    ThreadLocal主要起到线程隔离作用,使得每个线程拥有自己独立的一份数据,经过threadLocal处理的数据是线程独享的,不与其它线程分享或者干扰,因此能起到线程之间数据隔离的作用。ThreadLocal的几个核心方法:方法声明描述publicvoidset(Tvalue)设置当前线程绑定的局部变量pu......
  • 理解Mysql索引原理及特性
    作为开发人员,碰到了执行时间较长的sql时,基本上大家都会说”加个索引吧”。但是索引是什么东西,索引有哪些特性,下面和大家简单讨论一下。1索引如何工作,是如何加快查询速度索引就好比书本的目录,提高数据库表数据访问速度的数据库对象。当我们的请求打过来之后,如果有目录,就会快速的......
  • Floyd良序集法证明程序终止性
    1.设断点并建断言(1)开始处A:(2)循环主干处B,C等:2.取良序集并定义函数(1)良序集:一般为<N,<>(与证良函数有关)(2)函数:为存在循环的断点定义函数f(x)(注意:f(x)需要随着循环递减)找随循环递减的f(x)的技巧:看变化量和跳出循环的判断条件中的变量尝试单个变量......
  • 视频流的含义、定义及其工作原理分析
    流媒体是一种通过互联网传输,将音频、视频等多媒体内容从存储设备传输到另一个设备的技术。与传统下载方式不同,流媒体可以实现边下边播,用户无需等待完整文件下载即可开始观看,同时具有流畅体验。流媒体的优点在于方便快捷,用户只需要网络连接和播放设备就能随时随地观看或听取所需内......
  • 从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析
    大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类型内部是如何工作,比如比较复杂的查询是将一个大查询分解成了小查询,然后通过对小查询的结果进行合并得到......
  • Istio从入门到精通—— 流量治理的原理 —— VirutalService —— HTTPMatchRequest
    流量治理的原理——VirutalService——HTTPMatchRequestHttpMatchRequestspecifiesasetofcriteriontobemetinorderfortheruletobeappliedtotheHTTPrequest.Forexample,thefollowingrestrictstheruletomatchonlyrequestswheretheURLpaths......
  • SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍试读版
    本教程之前的文章,对SAPABAP各种增强技术做了一个概述:122.SAPABAP各种增强技术(Enhancement)概述-所谓第一代,第二代,第三代增强技术的出处是?然后第62篇文章,针对下图红色区域的基于EnhancementFramework增强技术中的隐式增强之ABAP报表增强,做了详细介绍:62.如何通过增......