容斥原理简述

文章目录

      • 1. 问题引入
      • 2. 公式
      • 3. 证明
      • 参考

1. 问题引入

主要用来解决集合的计数问题。

最常见的应用题,A活动多少人,B活动多少人,AB两活动多少人之类的。

两三个集合的时候还能画图进行识别,三个以上的集合则看不太出来了。

2. 公式

∣ A 1 ∪ A 2 ∪ A 3 . . . ∪ A m ∣ = ∑ 1 ≤ i ≤ m ∣ A i ∣ − ∑ 1 ≤ i < j ≤ m ∣ A i ∩ A j ∣ + ∑ 1 ≤ i < j < k ≤ m ∣ A i ∩ A j ∩ A k ∣ − . . . + ( − 1 ) m − 1 ∣ A 1 ∩ A 2 ∩ A 3 . . . ∩ A m ∣ = ∑ k = 1 n ( − 1 ) k − 1 ∑ 1 < i 1 < i 2 < . . . < i k ≤ n ∣ A i 1 ∩ A i 2 . . . A i k ∣ \left\vert A_1 \cup A_2 \cup A_3...\cup A_m \right\vert = \sum_{1\le i \le m}\left\vert A_i \right\vert - \\ \sum_{1\le i \lt j \le m} \left\vert A_i \cap A_j\right\vert + \\ \sum_{1 \le i \lt j \lt k \le m} \left\vert A_i \cap A_j \cap A_k\right\vert- ...\\ +(-1)^{m-1}\left\vert A_1 \cap A_2 \cap A_3 ...\cap A_m\right\vert =\\ \sum_{k=1}^{n}(-1)^{k-1} \sum_{1 \lt i_1 \lt i_2 \lt ... \lt i_k \le n} |A_{i_1} \cap A_{i_2}...A_{i_k}| A1A2A3...Am=1imAi1i<jmAiAj+1i<j<kmAiAjAk...+(1)m1A1A2A3...Am=k=1n(1)k11<i1<i2<...<iknAi1Ai2...Aik

3. 证明

引入1
∣ ⋃ i = 1 n A i ∣ = ∣ A 1 ∪ A 2 . . . A i ∣ \left \vert \bigcup_{i = 1}^n{A_i} \right\vert = \left\vert A_1\cup A_2...A_i\right\vert i=1nAi =A1A2...Ai
引入2 德摩根定理
A ∪ B ‾ = A ‾ ∩ B ‾ A ∩ B ‾ = A ‾ ∪ B ‾ \overline{A \cup B} = \overline A \cap \overline B \\ \overline{A \cap B} =\overline A \cup \overline B AB=ABAB=AB

数学归纳法

n = 2
∣ A 1 ∪ A 2 ∣ = ∣ A 1 ∣ + ∣ A 2 ∣ − ∣ A 1 ∩ A 2 ∣ \left\vert A_1 \cup A_2 \right\vert = \left\vert A_1\right\vert + \left\vert A_2\right\vert - \left\vert A_1 \cap A_2\right\vert A1A2=A1+A2A1A2
成立。
假设当 n = s ( s ≥ 2 , s ∈ N ∗ ) n = s(s \ge 2, s \in N^*) n=s(s2,sN)时,结论成立。则当 n = s + 1 n = s+1 n=s+1

∣ ⋃ i = 1 n A i ∣ = ∣ ⋃ i = 1 s + 1 A i ∣ = ∣ ( ⋃ i = 1 s A i ) ∪ A s + 1 ∣ = ∣ ⋃ i = 1 s A i ∣ + ∣ A s + 1 ∣ − ∣ ( ⋃ i = 1 s A i ) ∩ A s ∣ = ∣ ⋃ i = 1 s A i ∣ + ∣ A s + 1 ∣ − ∣ ⋃ i = 1 s ( A i ∩ A s + 1 ) ∣ = ∑ 1 ≤ i 1 ≤ s + 1 ∣ A i ∣ + ∑ k = 2 s ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 < i 3 . . ≤ s ∣ A i 1 ∩ A i 2 ∩ A i 3 . . . ∩ A i k ∣ + ∑ k = 2 s + 1 ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 . . . < i k ≤ s + 1 ∣ A i 1 ∩ A i 2 ∩ A i 3 . . A i k ∣ = ∑ 1 ≤ i ≤ s + 1 ∣ A i ∣ + ∑ k = 2 s ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 < i 3 . . i k ≤ s ∣ A i 1 ∩ A i 2 ∩ A i 3 . . . ∩ A i k ∣ + ∑ k = 2 s ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 < i 3 . . ≤ i k ≤ s + 1 ∣ A i 1 ∩ A i 2 ∩ A i 3 . . . ∩ A i k ∣ + ( − 1 ) s ∣ A 1 ∩ A 2 ∩ A 3 ∩ . . . A s + 1 ∣ = ∑ 1 ≤ i ≤ s + 1 ∣ A i ∣ + ∑ k = 2 s + 1 ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 . . i k ≤ s + 1 ∣ A i 1 ∩ A i 2 ∩ . . . A i k ∣ + ( − 1 ) s ∣ A 1 ∩ A 2 ∩ A 3 ∩ . . . A s + 1 ∣ = ∑ k = 1 s + 1 ( − 1 ) k − 1 ∑ 1 ≤ i 1 < i 2 < i 3 . . . < i k ≤ s + 1 ∣ A i 1 ∩ A i 2 . . . ∩ A i k ∣ \left\vert \bigcup_{i=1}^{n}A_i\right\vert = \left\vert \bigcup_{i=1}^{s+1}A_i \right\vert= \left\vert \big(\bigcup _{i =1}^s A_i\big) \cup A_{s+1}\right\vert \\= \\ \left\vert \bigcup_{i=1}^s A_i\right\vert + \left\vert A_{s+1}\right\vert - \left\vert \big( \bigcup_{i=1}^s A_i\big)\cap A_{s}\right\vert \\ = \\ \left\vert \bigcup_{i=1}^s A_i \right\vert \ + \left\vert A_{s+1}\right\vert -\left\vert \bigcup _{ i=1}^s(A_i \cap A_{s+1}) \right\vert \\=\\ \sum_{1 \le i_1 \le s+1}\left\vert A_i\right\vert + \sum_{k =2}^{s}(-1)^{k-1} \sum_{1 \le i_1 \lt i_2 \lt i_3 .. \le s} \left\vert A_{i_1} \cap A_{i_2} \cap A_{i_3}... \cap A_{i_k}\right\vert + \sum_{k=2}^{s+1}(-1)^{k-1}\sum_{1\le i_1 \lt i_2... \lt i_k \le s+1 }|A_{i_1} \cap A_{i_2} \cap A_{i_3}..A_{i_k}| \\= \\ \sum_{1 \le i \le s+1}| A_{i}| +\sum_{k =2}^{s}(-1)^{k-1} \sum_{1 \le i_1 \lt i_2 \lt i_3 .. i_k\le s} \left\vert A_{i_1} \cap A_{i_2} \cap A_{i_3}... \cap A_{i_k}\right\vert +\sum_{k =2}^{s}(-1)^{k-1} \sum_{1 \le i_1 \lt i_2 \lt i_3 .. \le i_k \le s+1} \left\vert A_{i_1} \cap A_{i_2} \cap A_{i_3}... \cap A_{i_k}\right\vert +(-1)^s |A_1 \cap A_2 \cap A_3 \cap... A_{s+1}| \\= \\ \sum_{1 \le i \le s+1}|A_{i}| + \sum_{k=2}^{s+1}(-1)^{k-1}\sum_{1 \le i_1 \lt i_2 ..i_k \le s+1}|A_{i_1} \cap A_{i_2} \cap... A_{i_k}| \ + (-1)^s |A_1 \cap A_2 \cap A_3 \cap... A_{s+1}| \\ \\= \\ \sum_{k=1}^{s+1}(-1)^{k-1} \sum_{1 \le i_1 \lt i_2 \lt i_3... \lt i_k \le s+1}|A_{i_1} \cap A_{i_2}...\cap A_{i_k}| i=1nAi = i=1s+1Ai = (i=1sAi)As+1 = i=1sAi +As+1 (i=1sAi)As = i=1sAi  +As+1 i=1s(AiAs+1) =1i1s+1Ai+k=2s(1)k11i1<i2<i3..sAi1Ai2Ai3...Aik+k=2s+1(1)k11i1<i2...<iks+1Ai1Ai2Ai3..Aik=1is+1Ai+k=2s(1)k11i1<i2<i3..iksAi1Ai2Ai3...Aik+k=2s(1)k11i1<i2<i3..iks+1Ai1Ai2Ai3...Aik+(1)sA1A2A3...As+1=1is+1Ai+k=2s+1(1)k11i1<i2..iks+1Ai1Ai2...Aik +(1)sA1A2A3...As+1=k=1s+1(1)k11i1<i2<i3...<iks+1Ai1Ai2...Aik
成立得证。

另一种证明则是元素出现个数的时候的证明,参见OI_WIKI。

参考

OI_WIKI
百度百科

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jvm调优 和实际案例

JVM&#xff08;Java Virtual Machine&#xff09;调优是优化Java应用程序性能的关键部分&#xff0c;它可以帮助你有效地管理内存、垃圾收集、线程和类加载等方面的资源。在进行JVM调优时&#xff0c;通常需要考虑以下几个方面&#xff1a; 堆内存调优&#xff1a; 调整堆内存…

30W网络对讲广播一体音柱

SV-7042T 30W网络对讲广播一体音柱 一、描述 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源音柱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;其采用防水设计&#xff0c;功率可以从20W到40W。SV-7042T作为网…

动态数据源自定义SqlSessionFactoryBean时mybatis plus配置失效

环境&#xff1a; 动态数据源spring-boot 2.7.15mybatis-plus 3.5.2 yaml配置&#xff1a; spring:datasource:db100:username: xxxpassword: xxxjdbc-url: jdbc:kingbase8://xxx.xxx.xxx.xxx:54321/100driver-class-name: com.kingbase8.Driver# url: jdbc:postgresql://xxx…

Python 金融大数据分析

第一章 为什么将python用于金融 python编程语言 python是一种高级的多用途编程语言&#xff0c;广泛用于各种非技术和技术领域。 python是一种具备动态语义、面向对象的解释型高级编程语言。它的高级内建数据结构与动态类型及动态绑定相结合&#xff0c;使其在快速应用开发上…

使用Boto3访问AWS S3服务

安装Boto3&#xff0c;执行如下命令&#xff1a; python -m venv .venv . .venv/bin/activate python -m pip install boto3创建配置文件&#xff0c;执行如下命令&#xff1a; mkdir -p ~/.aws touch ~/.aws/credentials touch ~/.aws/config编辑 ~/.aws/credentials&#x…

圆弧插补【C#】

圆弧&#xff1a; 圆弧插补方法可以通过提供圆弧的起点、终点和半径来画弧。下面是一个用C#实现的圆弧插补方法的示例代码&#xff1a; public void DrawArc(Point startPoint, Point endPoint, int radius, bool isClockwise) {// 计算圆心坐标int centerX (startPoint.X e…

01【Git的基本使用与底层命令】

下一篇&#xff1a;02【Git的分支与数据恢复】 目录&#xff1a;【Git系列教程-目录大纲】 文章目录 一、Git概述1.1 Git简介1.2 集中式与分布式1.2.1 集中式版本控制1.2.2 分布式版本控制 1.3 Git的使用流程1.3.1 本地仓库1.3.2 协同开发 1.4 Git的配置1.4.1 Git的配置等级1…

华为汪涛:5.5G时代UBB目标网,跃升数字生产力

[阿联酋&#xff0c;迪拜&#xff0c;2023年10月12日] 在2023全球超宽带高峰论坛上&#xff0c;华为常务董事、ICT基础设施业务管理委员会主任汪涛发表了“5.5G时代UBB目标网&#xff0c;跃升数字生产力”的主题发言&#xff0c;分享了超宽带产业的最新思考与实践&#xff0c;探…

c++ 类的继承(二)

1. 初始化列表 初始化列表在三种情况下必须使用: 继承关系下&#xff0c;父类没有无参构造函数情况 #include <iostream>using namespace std;class Base{ public:string name;int num;Base(){cout<< "基类的无参构造..." <<endl;}Base(string …

谈谈 Redis 分片集群模式

谈谈 Redis 分片集群模式 优点 ● 无中心架构&#xff0c;支持动态扩容 ● Cluster 自动具备哨兵监控和故障转移&#xff08;主从切换&#xff09;能力 ● 客户端连接集群内部地址可自动发现 ● 高性能、高可用&#xff0c;有效解决了 Redis 分布式需求 缺点 ● 运维复杂 ● 只…

MySQL远程连接

一、什么是mysq的远程连接? 1、本地连接 直接在本地使用mysqladmin命令登录 mysql -u root -p 解释如下: mysql:mysql 命令表示要启动 MySQL 客户端。-u root:-u 选项指定要使用的用户名。在这里,我们使用 root 用户名作为示例。-p:-p 选项需要用户输入密码。如果省…

Vue 父子组件传值有哪些方式

① Props 父组件向子组件传递数据是通过 props 传递的&#xff1b; 在父组件中通过 v-bind 绑定子组件的属性&#xff0c;子组件中通过 props 接收父组件传递的数据。 这是一种单向数据流的方式&#xff0c;父组件可以向子组件传递数据&#xff0c;但是子组件不能直接修改传…

比postman更好用的接口管理软件——Apifox

比postman更好用的接口管理软件——Apifox 官网安装和登录Apifox功能使用团队管理&项目管理接口管理接口文档 Apifox 帮助文档 最近使用了一个好用的中文版接口管理软件&#xff0c;Apifox&#xff0c;以下介绍一下它的使用方式及好处。 官网 Apifox的官方地址&#xff1a…

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式 二、核心点 1. 使用pdf2docx完成PDF转换Word 安装pdf2docx可能会报错&#xff0c;安装完成引入from pdf2docx import Converter运行也可能报错&#xff0c;可以根据报错提示看缺少那些库&#xff0c;先卸载pip uninstall xxx,使用pip install python-docx -i htt…

Stm32_标准库_16_串口蓝牙模块_手机与蓝牙模块通信_手机传入信息能对芯片时间日期进行更改

实现了手机发送信息给蓝牙模块&#xff0c;程序对数据进行分析拆解&#xff0c;并更新自身数据 main.c: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h" #include "Ti…

Docker仓库harbor私服搭建

Harbor和Registry都是Docker的镜像仓库&#xff0c;但是Harbor作为更多企业的选择&#xff0c;是因为相比较于Regisrty来说&#xff0c;它具有很多的优势。 提供分层传输机制&#xff0c;优化网络传输 Docker镜像是是分层的&#xff0c;而如果每次传输都使用全量文件(所以用FT…

特斯拉pre-test (Go)

特斯拉pre-test &#xff08;Go&#xff09; 1 Q12 Q23 Q3 1 Q1 原文&#xff1a; You are given an implementation of a function Solution that, given a positive integer N, prints to standard output another integer, which was formed by reversing a decimal repres…

前端成神之路-HTML

前端成神之路-HTML 目录 前端成神之路-HTML 认识网页 常见浏览器介绍 查看浏览器占有的市场份额&#xff08;知晓&#xff09; 浏览器内核&#xff08;理解&#xff09; Web标准&#xff08;重点&#xff09; Web 标准的好处 Web 标准构成 HTML 初识 HTML骨架格式 …

基于Lang-Chain(ChatGLM和ChatChat)知识库大语言模型的部署搭建

环境准备 阿里云个人认证后&#xff0c;可免费试用机器学习平台PAI&#xff0c;可提供适合大语言模型环境搭建的高配置服务器。 点击试用阿里云服务器 试用产品选择&#xff1a;选择交互式建模PAI-DSW 适合哪些场景 文章/知识库/帮助文档等的检索基于现有知识库实现问答… …

Java 字符串工具类

package com.lihaozhe.util.string;import java.util.UUID; import java.util.concurrent.ThreadLocalRandom;/*** 字符串工具类** author 李昊哲* version 1.0*/ public class StringUtils {/*** 去除字符串左边的的空格** param string 原始字符串* return 去除左边空格后的字…