【组合数学】容斥鸽巢原理

2023-12-06 09:12

本文主要是介绍【组合数学】容斥鸽巢原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1. 容斥原理
    • 容斥原理三种形式
  • 2. 容斥原理应用
    • 有限重复数的多重集合的 r 组合数
    • 错排问题
  • 3. 鸽巢原理
  • 4. Ramsey 定理

1. 容斥原理

容斥原理提供了一种通过计算每个单独集合的大小,然后修正重复计数的方法,从而得到多个集合并集大小的计算方法。它通过减去每个交集的元素个数,再加上每两个集合的交集,再减去每三个集合的交集,以此类推,来避免多重计数。

定理 1.1:容斥原理 ∣ ⋃ i = 1 n A i ∣ = ∑ k = 1 n ( − 1 ) k − 1 ( ∑ 1 ≤ i 1 < i 2 < … < i k ≤ n ∣ A i 1 ∩ A i 2 ∩ … ∩ A i k ∣ ) \left| \bigcup_{i=1}^{n} A_i \right| = \sum_{k=1}^{n} (-1)^{k-1} \left( \sum_{\substack{1 \leq i_1 < i_2 < \ldots < i_k \leq n}} \left| A_{i_1} \cap A_{i_2} \cap \ldots \cap A_{i_k} \right| \right) i=1nAi =k=1n(1)k1(1i1<i2<<iknAi1Ai2Aik)其中 ∣ ⋃ i = 1 n A i ∣ \left| \bigcup_{i=1}^{n} A_i \right| i=1nAi 表示所有集合的并集中元素的总个数。右侧的求和符号涉及不同交集大小的情况,通过交替加减不同交集的元素个数来计算最终的并集大小。

容斥原理三种形式

定理 1.2: S 是一有限集合,P1, P2,…, Pm 是同集合 S 有关的 m 个性质,设 A i A_i Ai是 S 中具有性质 Pi 的元素构成的集合(1 ≤ i ≤ m), A i ‾ \overline{A_i} Ai 是 S 中不具有性质 Pi 的元素构成的集合(1 ≤ i ≤ m),则 S 中不具有性质 Pi 的元素的个数为 ∣ A 1 ‾ ∩ A 2 ‾ ∩ . . . ∩ A m ‾ ∣ = ∣ S ∣ − ∑ i = 1 m ∣ A i ∣ + ∑ { 1 , 2 , . . m } 的 2 组合 ∣ A i ∩ A j ∣ − ∑ { 1 , 2 , . . m } 的 3 组合 ∣ A i ∩ A j ∩ A k ∣ + . . . + ( − 1 ) m ∣ A 1 ∩ A 2 ∩ . . . ∩ A m ∣ |\overline{A_1}\cap\overline{A_2}\cap...\cap\overline{A_m}|=|S|-\sum_{i=1}^m|A_i|+\sum_{\{1,2,..m\}的2组合} |A_i\cap A_j|-\\\sum_{\{1,2,..m\}的3组合} |A_i\cap A_j \cap A_k|+...+(-1)^m|A_1\cap A_2 \cap...\cap A_m| A1A2...Am=Si=1mAi+{1,2,..m}2组合AiAj{1,2,..m}3组合AiAjAk+...+(1)mA1A2...Am

习题1、求不超过 120 的素数的个数
解: 因 1 1 2 11^2 112 = 121,故不超过 120 的合数必然是 2,3,5,7 的倍数,而且不超过 120 的合数的因子不可能超过 11 。设 A i A_i Ai 为不超过 120 的数 i 的倍数的集合(i = 2, 3, 5, 7)则
∣ A 2 ∣ = ⌊ 120 / 2 ⌋ = 60 , ∣ A 3 ∣ = ⌊ 120 / 3 ⌋ = 40 , ∣ A 5 ∣ = ⌊ 120 / 5 ⌋ = 24 , ∣ A 7 ∣ = ⌊ 120 / 7 ⌋ = 17 , ∣ A 2 ∩ A 3 ∣ = ⌊ 120 / 6 ⌋ = 20 , ∣ A 2 ∩ A 5 ∣ = ⌊ 120 / 10 ⌋ = 12 , ∣ A 2 ∩ A 7 ∣ = ⌊ 120 / 14 ⌋ = 8 , ∣ A 3 ∩ A 5 ∣ = ⌊ 120 / 15 ⌋ = 8 , ∣ A 3 ∩ A 7 ∣ = ⌊ 120 / 21 ⌋ = 5 , ∣ A 5 ∩ A 7 ∣ = ⌊ 120 / 35 ⌋ = 3 , ∣ A 2 ∩ A 3 ∩ A 5 ∣ = ⌊ 120 / 30 ⌋ = 4 , ∣ A 2 ∩ A 3 ∩ A 7 ∣ = ⌊ 120 / 42 ⌋ = 2 , ∣ A 2 ∩ A 5 ∩ A 7 ∣ = ⌊ 120 / 70 ⌋ = 1 , ∣ A 3 ∩ A 5 ∩ A 7 ∣ = ⌊ 120 / 105 ⌋ = 1 , ∣ A 2 ∩ A 3 ∩ A 5 ∩ A 7 ∣ = ⌊ 120 / 210 ⌋ = 0 , |A2| = \left \lfloor 120/2\right \rfloor = 60, |A3| = \left \lfloor 120/3\right \rfloor=40, \\|A5| = \left \lfloor 120/5\right \rfloor= 24, |A7| = \left \lfloor 120/7\right \rfloor= 17, \\|A2\cap A3| = \left \lfloor 120/6\right \rfloor= 20,|A2\cap A5| = \left \lfloor 120/10\right \rfloor= 12, \\|A2\cap A7| = \left \lfloor 120/14\right \rfloor= 8,|A3\cap A5| = \left \lfloor 120/15 \right \rfloor= 8, \\| A3\cap A7| = \left \lfloor 120/21 \right \rfloor= 5, | A5\cap A7| = \left \lfloor 120/35 \right \rfloor= 3, \\| A2\cap A3\cap A5| = \left \lfloor 120/30 \right \rfloor = 4, | A2\cap A3\cap A7| = \left \lfloor 120/42 \right \rfloor = 2, \\| A2\cap A5\cap A7| = \left \lfloor 120/70 \right \rfloor= 1,| A3\cap A5\cap A7| =\left \lfloor 120/105\right \rfloor= 1, \\ |A2\cap A3\cap A5\cap A7| = \left \lfloor 120/210 \right \rfloor= 0, A2∣=120/2=60,A3∣=120/3=40,A5∣=120/5=24,A7∣=120/7=17,A2A3∣=120/6=20,A2A5∣=120/10=12,A2A7∣=120/14=8,A3A5∣=120/15=8,A3A7∣=120/21=5,A5A7∣=120/35=3,A2A3A5∣=120/30=4,A2A3A7∣=120/42=2,A2A5A7∣=120/70=1,A3A5A7∣=120/105=1A2A3A5A7∣=120/210=0,
∣ A 2 ‾ ∩ A 3 ‾ ∩ A 5 ‾ ∩ A 7 ‾ ∣ = 120 – ( ∣ A 2 ∣ + ∣ A 3 ∣ + ∣ A 5 ∣ + ∣ A 7 ∣ ) + ( ∣ A 2 ∩ A 3 ∣ + ∣ A 2 ∩ A 5 ∣ + ∣ A 2 ∩ A 7 ∣ + ∣ A 3 ∩ A 5 ∣ + ∣ A 3 ∩ A 7 ∣ + ∣ A 5 ∩ A 7 ∣ ) – ( ∣ A 2 ∩ A 3 ∩ A 5 ∣ + ∣ A 2 ∩ A 3 ∩ A 7 ∣ + ∣ A 2 ∩ A 5 ∩ A 7 ∣ + ∣ A 3 ∩ A 5 ∩ A 7 ∣ ) + ∣ A 2 ∩ A 3 ∩ A 5 ∩ A 7 ∣ = 27 |\overline{A_2}\cap \overline{A_3} \cap \overline{A_5} \cap\overline{A_7} |=120 \\– (|A2| + |A3| +|A5| + |A7|) \\+ (|A2\cap A3| + |A2\cap A5| + |A2\cap A7| + | A3\cap A5| + | A3\cap A7| + | A5\cap A7|) \\– (| A2\cap A3\cap A5| + | A2\cap A3\cap A7| +| A2\cap A5\cap A7| + | A3\cap A5\cap A7|) \\+ |A2\cap A3\cap A5\cap A7| = 27 A2A3A5A7=120(A2∣+A3∣+A5∣+A7∣)+(A2A3∣+A2A5∣+A2A7∣+A3A5∣+A3A7∣+A5A7∣)(A2A3A5∣+A2A3A7∣+A2A5A7∣+A3A5A7∣)+A2A3A5A7∣=27

定理 1.3: S 是一有限集合,P1, P2,…, Pm 是同集合 S 有关的 m 个性质,设 A i A_i Ai是 S 中具有性质 Pi 的元素构成的集合(1 ≤ i ≤ m),则 S 中至少具有一个性质 Pi 的元素的个数为 ∣ A 1 ∪ A 2 ∪ . . . ∪ A m ∣ = ∑ i = 1 m ∣ A i ∣ − ∑ { 1 , 2 , . . m } 的 2 组合 ∣ A i ∩ A j ∣ + ∑ { 1 , 2 , . . m } 的 3 组合 ∣ A i ∩ A j ∩ A k ∣ + . . . + ( − 1 ) m − 1 ∣ A 1 ∩ A 2 ∩ . . . ∩ A m ∣ |A_1\cup A_2\cup...\cup A_m|=\sum_{i=1}^m|A_i|-\sum_{\{1,2,..m\}的2组合} |A_i\cap A_j|+\\\sum_{\{1,2,..m\}的3组合} |A_i\cap A_j \cap A_k|+...+(-1)^{m-1}|A_1\cap A_2 \cap...\cap A_m| A1A2...Am=i=1mAi{1,2,..m}2组合AiAj+{1,2,..m}3组合AiAjAk+...+(1)m1A1A2...Am

定理 1.4: 设集合 S 中具有性质集合 P = {P1, P2,…, Pm} 中恰好 r 个性质的元素的个数为 N(r)则 N ( r ) = w ( r ) − ( r + 1 r ) w ( r + 1 ) + ( r + 2 r ) w ( r + 2 ) − . + ( − 1 ) m − r ( m r ) w ( m ) N(r)=w(r)-\binom{r+1}{r}w(r+1)+\binom{r+2}{r}w(r+2)-.+(-1)^{m-r}\binom{m}{r}w(m) N(r)=w(r)(rr+1)w(r+1)+(rr+2)w(r+2).+(1)mr(rm)w(m)其中 w ( 0 ) = ∣ S ∣ , w ( r ) = ∑ 1 ≤ i 1 < . . . < i r ≤ m N ( P i 1 , P i 2 , . . . , P i r ) w(0)=|S|,w(r)=\sum_{1\le i_1<...<i_r\le m}N(P_{i_1},P_{i_2},...,P_{i_r}) w(0)=S,w(r)=1i1<...<irmN(Pi1,Pi2,...,Pir)

2. 容斥原理应用

有限重复数的多重集合的 r 组合数

习题2、 S={3⋅a,4⋅b,5⋅c}的 10 组合数
解: 令 S ∞ = { ∞ ⋅ a , ∞ ⋅ b , ∞ ⋅ c } S_\infty=\{\infty \cdot a,\infty \cdot b,\infty \cdot c\} S={a,b,c},则 S 的 10 组合数为 ( 10 + 3 − 1 10 ) = ( 12 2 ) = 66 \binom{10+3-1}{10}=\binom{12}{2}=66 (1010+31)=(212)=66
设集合 A 是 S ∞ S_\infty S的 10 组合全体,则|A| = 66,现在要求在 10 组合中的 a 的个数小于等于 3,b 的个数小于等于 4,c 的个数小于等于 5 的组合数。
定义性质集合 P = {P1, P2, P3},其中,

  • P1:10 组合中 a 的个数大于等于 4;
  • P2:10 组合中 b 的个数大于等于 5;
  • P3:10 组合中 c 的个数大于等于 6.

将满足性质 Pi 的 10 组合全体记为 Ai (1 ≤ i ≤ 3).那么,A1 中的元素可以看作是由 S ∞ S_\infty S的 10 – 4 = 6 组合再拼上 4 个 a 构成的,所以 ∣ A 1 ∣ = ( 10 − 4 + 3 − 1 10 − 4 ) = 28 |A_1|=\binom{10-4+3-1}{10-4}=28 A1=(104104+31)=28
类似的有 ∣ A 2 ∣ = ( 10 − 5 + 3 − 1 10 − 5 ) = 21 , ∣ A 3 ∣ = ( 10 − 6 + 3 − 1 10 − 6 ) = 15 |A_2|=\binom{10-5+3-1}{10-5}=21,|A_3|=\binom{10-6+3-1}{10-6}=15 A2=(105105+31)=21,A3=(106106+31)=15
∣ A 1 ∩ A 2 ∣ = ( 10 − 5 − 4 + 3 − 1 10 − 5 − 4 ) = 3 , ∣ A 1 ∩ A 3 ∣ = ( 10 − 4 − 6 + 3 − 1 10 − 4 − 6 ) = 1 , ∣ A 2 ∩ A 3 ∣ = 0 ∣ A 1 ∩ A 2 ∩ A 3 ∣ = 0 |A_1\cap A_2|=\binom{10-5-4+3-1}{10-5-4}=3,|A_1\cap A_3|=\binom{10-4-6+3-1}{10-4-6}=1,|A_2\cap A_3|=0\\|A_1\cap A_2\cap A_3|=0 A1A2=(10541054+31)=3,A1A3=(10461046+31)=1,A2A3=0A1A2A3=0
而a的个数小于等于3,b的个数小于等于4,c的个数小于等于5的10组合全体为
∣ A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ ∣ = ∣ A ∣ − ( ∣ A 1 ∣ + ∣ A 2 ∣ + ∣ A 3 ∣ ) + ( ∣ A 1 ∩ A 2 ∣ + ∣ A 1 ∩ A 3 ∣ + ∣ A 2 ∩ A 3 ∣ ) − ∣ A 1 ∩ A 2 ∩ A 3 ∣ = 66 − ( 28 + 21 + 15 ) + ( 3 + 1 + 0 ) − 0 = 6 |\overline{A_1}\cap \overline{A_2} \cap \overline{A_3} |=|A|-(|A_1|+|A_2|+|A_3|)+(|A1\cap A2| + |A1\cap A3| + |A2\cap A3|)-|A_1\cap A_2\cap A_3|=66-(28+21+15)+(3+1+0)-0=6 A1A2A3=A(A1+A2+A3)+(A1A2∣+A1A3∣+A2A3∣)A1A2A3=66(28+21+15)+(3+1+0)0=6

错排问题

集合{1, 2, …, n}的一个错排是该集合的一个满足条件 i j ≠ j i_j ≠ j ij=j 的全排列 i 1 i 2 … i n i_1i_2…i_n i1i2in,即集合{1, 2, …, n}的没有一个数字在它的自然顺序位置上的全排列.记为 D n D_n Dn
其中 D 1 = 0 , D 2 = 1 , D 3 = 2 , D 4 = 9 D_1=0, D_2=1, D_3=2, D_4=9 D1=0,D2=1,D3=2,D4=9

定理 2.1:错排递推关系 D n = ( n − 1 ) ( D n − 1 + D n − 2 ) = n D n − 1 + ( − 1 ) n = n ! ( 1 − 1 1 ! + 1 2 ! − 1 3 ! + . . . + ( − 1 ) n 1 n ! ) D_n=(n-1)(D_{n-1}+D_{n-2})\\=nD_{n-1}+(-1)^n\\=n!(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+...+(-1)^n\frac{1}{n!}) Dn=(n1)(Dn1+Dn2)=nDn1+(1)n=n!(11!1+2!13!1+...+(1)nn!1)

Q n Q_n Qn 表示 {1,2,…,n} 的不出现 12,23,…,(n – 1)n 这些模式的全排列的个数,并规定 Q 1 = 1 Q_1 = 1 Q1=1

定理 2.2:有禁止的排列关系 Q n = n ! − ( n − 1 1 ) ( n − 1 ) ! + ( n − 1 2 ) ( n − 2 ) ! − . . . + ( − 1 ) n − 1 ( n − 1 n − 1 ) 1 ! Q_n=n!-\binom{n-1}{1}(n-1)!+\binom{n-1}{2}(n-2)!-...+(-1)^{n-1}\binom{n-1}{n-1}1! Qn=n!(1n1)(n1)!+(2n1)(n2)!...+(1)n1(n1n1)1!

3. 鸽巢原理

如果鸽子的数目比巢穴的数目多,那么至少要有一个鸽巢被两只或多只鸽子占据。
如果把 n + 1 个物体放入 n 个盒子,那么至少有一个盒子中有两个或更多的物品。
若把 n (r – 1) + 1 个物体放入 n 个盒子,那么至少有一个盒子中有 r 个物品。

4. Ramsey 定理

任何 6 个人的聚会,其中总会有 3 个人互相认识或 3 个人互相不认识。

定理 4.1:对于任意给定的两个正整数 a 和 b,如果存在最小的正整数 r (a, b)
使得当 N ≥ r (a, b)时,对 K N K_N KN 任意进行红、蓝两边着色, K N K_N KN 中均有红色 K a K_a Ka,或蓝色 K b K_b Kb则 r (a, b)称为 Ramsey 数

在这里插入图片描述

定理 4.2:对任意正整数 a,b,有 r(a, b) = r(b, a);r(a, 2) = a
对任意正整数 a ≥ 3,b ≥ 3,有 r(a, b) ≤ r(a – 1, b) + r(a, b–1)

对任意正整数 a ≥ 2,b ≥ 2,有 r(a, b) ≤ ( a + b − 2 a − 1 ) \binom{a+b-2}{a-1} (a1a+b2)

作业习题链接:作业 第二章 鸽巢原理

这篇关于【组合数学】容斥鸽巢原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461289

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事