容斥定理

参考 集合符

∣ ⋃ i = 1 n A i ∣ = ∑ i = 1 n ( − 1 ) i − 1 A [ i ] \left|\bigcup_{i=1}^{n} A_{i}\right|=\sum_{i=1}^{n}(-1)^{i-1} A_{[i]} i=1nAi =i=1n(1)i1A[i]
∣ ⋃ i = 1 n A i ∣ = ∑ i = 1 n ( − 1 ) i − 1 ∑ 1 ≤ k 1 < ⋯ < k i ≤ n ∣ A k 1 ∩ ⋯ ∩ A k i ∣ \left| \bigcup_{i=1}^n A_i \right| = \sum_{i=1}^{n} (-1)^{i-1} \sum_{1 \le k_1 < \dots < k_i \le n} |A_{k_1} \cap \dots \cap A_{k_i}| i=1nAi =i=1n(1)i11k1<<kinAk1Aki

这里证法应该是最简单、最直接的证法,而数学归纳法的缺点是必须先猜出答案。

约定

A [ i ] A_{[i]} A[i] A ( i ) A_{(i)} A(i) 表示集合或者对应的基数,具体由上下文决定。

集簇

  • 约定1: A = { A 1 , A 2 , … , A n } A = \{ A_{1}, A_{2}, \dots, A_{n} \} A={A1,A2,,An}
  • 约定2: A [ i ] : = A_{[i]} := A[i]:= A 中所有 i i i 个元素交的模的和,或 A 中所有 i i i 个元素的交簇。
  • 约定3: A ( i ) : = A_{(i)} := A(i):= A 中所有仅有 i i i 个元素交的模的和,或 A 中仅有 i i i 个元素的交, A ( i ) A_{(i)} A(i)的元素称作i重元
  • 约定4: Ω = ⋃ i = 1 n A i = ⋃ i = 1 n A ( i ) Ω= \bigcup_{i=1}^{n} A_{i} = \bigcup_{i=1}^{n} A_{(i)} Ω=i=1nAi=i=1nA(i) 是样本空间
    其中 A ( 1 ) A_{(1)} A(1) A ( n ) A_{(n)} A(n) Ω Ω Ω 的一个划分,若 i ≠j 则 A ( i ) A_{(i)} A(i) A ( j ) A_{(j)} A(j)无交集。
  • 约定5: t A ( k ) tA_{(k)} tA(k) A ( k ) A_{(k)} A(k) 中的元素算了 t t t 次( t ≥ 0 t \geq 0 t0)。

计数

A [ i ] A_{[i]} A[i] A ( i ) A_{(i)} A(i)的含义根据上下文理解
A [ i ] A_{[i]} A[i] :至少 i i i 个集合相交的总和,存在重复计数
A ( i ) A_{(i)} A(i) :恰好 i i i 个集合相交的总和,无重复、无重叠
A [ i ] A_{[i]} A[i]:从 n n n 个集合中任意选 i i i 个求交集,再将所有交集大小相加一个属于 s s s 个集合的元素( s ≥ i s \ge i si)会被计算 C s i \mathrm{C}_s^i Csi
包含恰好 i , i + 1 , … , n i,i+1,\dots,n i,i+1,,n 个集合相交的所有元素
A ( i ) A_{(i)} A(i)只属于恰好 i i i 个集合的元素总数
元素不重复、不遗漏,两两之间无交集
所有 A ( i ) A_{(i)} A(i) 构成样本空间的一个划分


T1

A [ k ] A_{[k]} A[k] A ( s ) A_{(s)} A(s) 中的元素算了 C s k C_{s}^{k} Csk 次( s ≥ k s \geq k sk)。

P1:
x ∈ A ( s ) x \in A_{(s)} xA(s),则 x x x 被确定的 s s s 个集合包含。
从这 s s s 个集合挑出 k k k 个集合对应到 A [ k ] A_{[k]} A[k] 上,每一种挑法 x x x 都被算 1 次。

例如:

  • A [ 5 ] A_{[5]} A[5] A ( 3 ) A_{(3)} A(3) 算了 0 次。
  • 因为 A [ 5 ] A_{[5]} A[5] 中的元素至少是 5 个集合交出来的(也可能是大于5个集合交出的)
  • A ( 3 ) A_{(3)} A(3) 中的元素是 3 个集合交出来的。
  • 所以 x ∈ A ( 3 ) ⇒ x ∉ A [ 5 ] x \in A_{(3)} \Rightarrow x \notin A_{[5]} xA(3)x/A[5]

A [ i ] A_{[i]} A[i] A ( i ) A_{(i)} A(i) 的关系

为简化表达, 下面的 A [ i ] A_{[i]} A[i] A ( i ) A_{(i)} A(i) 都表示基数

  • A [ 1 ] : C 1 1 A ( 1 )    +    C 2 1 A ( 2 )    +    …    +    C n 1 A ( n ) A_{[1]} : \quad C_{1}^{1} A_{(1)} \;+\; C_{2}^{1} A_{(2)} \;+\; \dots \;+\; C_{n}^{1} A_{(n)} A[1]:C11A(1)+C21A(2)++Cn1A(n)
  • A [ 2 ] : 0 A ( 1 )    +    C 2 2 A ( 2 )    +    …    +    C n 2 A ( n ) A_{[2]} : \quad 0A_{(1)} \;+\; C_{2}^{2} A_{(2)} \;+\; \dots \;+\; C_{n}^{2} A_{(n)} A[2]:0A(1)+C22A(2)++Cn2A(n)
  • … \dots
  • A [ n ] : 0 A ( 1 )    +    0 A ( 2 )    +    …    +    C n n A ( n ) A_{[n]} : \quad 0A_{(1)} \;+\; 0A_{(2)} \;+\; \dots \;+\; C_{n}^{n} A_{(n)} A[n]:0A(1)+0A(2)++CnnA(n)

取第 1 行 - 第 2 行 + 第 3 行 - … 第 n 行,即得到:

A ( 1 ) + A ( 2 ) + … A ( n ) A_{(1)} + A_{(2)} + \dots A_{(n)} A(1)+A(2)+A(n)
这正是总的样本空间的元素个数


解释

这里 A [ i ] A_{[i]} A[i] A ( i ) A_{(i)} A(i) 表示对应集合的基数, 即 用集合指代集合的基数
上面用到了恒等式
∑ i = 1 n ( − 1 ) i − 1 C n i = 1 \sum_{i=1}^{n} (-1)^{i-1} C_{n}^{i} = 1 i=1n(1)i1Cni=1

∣ ⋃ i = 1 n A i ∣ = A ( 1 ) + A ( 2 ) + ⋯ + A ( n ) = A [ 1 ] − A [ 2 ] + A [ 3 ] − … A [ n ] \left|\bigcup_{i=1}^{n} A_{i}\right| = A_{(1)} + A_{(2)} + \dots + A_{(n)} = A_{[1]} - A_{[2]} + A_{[3]} - \dots A_{[n]} i=1nAi =A(1)+A(2)++A(n)=A[1]A[2]+A[3]A[n]

∣ ⋃ i = 1 n A i ∣ = ∑ i = 1 n ( − 1 ) i − 1 A [ i ] \left|\bigcup_{i=1}^{n} A_{i}\right|=\sum_{i=1}^{n}(-1)^{i-1} A_{[i]} i=1nAi =i=1n(1)i1A[i]

容斥定理例题

∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ |A \cup B| = |A| + |B| - |A \cap B| AB=A+BAB

某班级有学生50人,其中喜欢数学的有30人,喜欢语文的有28人,两门都不喜欢的有5人。
请问:两门学科都喜欢的学生有多少人?

  • 样本空间 ∣ Ω ∣ = 50 |\Omega |= 50 ∣Ω∣=50(班级总人数)
  • 喜欢数学 |A|=30 :
  • 喜欢语文 |B|=28
  • 都不喜欢: ∣ Ω ∣ − ∣ A ∪ B ∣ |\Omega |- |A \cup B| ∣Ω∣AB=5
    带入容斥定理得 ∣ A ∩ B ∣ = 30 + 28 − 45 = 13 |A \cap B|=30+28-45 = 13 AB=30+2845=13
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐