【集合论】容斥原理 ( 包含排斥原理 | 示例 )
一、 容斥原理
A 1 , A 2 , ⋯ , A n A_1 , A_2 , \cdots , A_n A1,A2,⋯,An 是 n n n 个集合 ; 则 这 n n n 个集合 并集的元素个数 是 :
∣ ⋃ i = 1 n A i ∣ = ∑ i = 1 n ∣ A i ∣ − ∑ i < j ∣ A i ∩ A j ∣ + ∑ i < j < k ∣ A i ∩ A j ∩ A k ∣ − ⋯ + ( − 1 ) n − 1 ∣ A 1 ∩ A 2 ∩ ⋯ ∩ A n ∣ | \bigcup_{i=1}^{n} A_i | = \sum_{i = 1}^n | A_i | - \sum_{i < j} | A_i \cap A_j | + \sum_{i < j < k} | A_i \cap A_j \cap A_k | - \cdots + ( -1 )^{n - 1} | A_1 \cap A_2 \cap \cdots \cap An | ∣i=1⋃nAi∣=i=1∑n∣Ai∣−i<j∑∣Ai∩Aj∣+i<j<k∑∣Ai∩Aj∩Ak∣−⋯+(−1)n−1∣A1∩A2∩⋯∩An∣
解析 :
n n n 个集合进行并运算后 , 元素个数 , 通常使用 容斥原理 进行计算 ;
∑ i = 1 n ∣ A i ∣ \sum_{i = 1}^n | A_i | ∑i=1n∣Ai∣ : 将每个集合中的 元素个数 相加 , 该值大于 总元素数 , 需要进行修正 ; ( 系数值 ( − 1 ) 0 (-1)^0 (−1)0 )
∑ i < j ∣ A i ∩ A j ∣ \sum_{i < j} | A_i \cap A_j | ∑i<j∣Ai∩Aj∣ : 减去两两相交的元素个数 , 该值又小于 总元素数 , 继续进行修正 ; ( 系数值 ( − 1 ) 1 (-1)^1 (−1)1 )
∑ i < j < k ∣ A i ∩ A j ∩ A k ∣ \sum_{i < j < k} | A_i \cap A_j \cap A_k | ∑i<j<k∣Ai∩Aj∩Ak∣ : 加上三个集合相交的元素个数 , 该值大于 总元素数 , 继续进行修正 ; ( 系数值 ( − 1 ) 2 (-1)^2 (−1)2 )
减去四个集合相交的元素个数 , 该值小于 总元素数 , 继续进行修正 ; ( 系数值 ( − 1 ) 3 (-1)^3 (−1)3 )
⋮ \vdots ⋮
( − 1 ) n − 1 ∣ A 1 ∩ A 2 ∩ ⋯ ∩ A n ∣ ( -1 )^{n - 1} | A_1 \cap A_2 \cap \cdots \cap An | (−1)n−1∣A1∩A2∩⋯∩An∣ : 加上 ( − 1 ) n − 1 ( -1 )^{n - 1} (−1)n−1 乘以 n − 1 n-1 n−1 个集合相交的元素个数 ; ( 系数值 ( − 1 ) n − 1 (-1)^{n-1} (−1)n−1 )
上述 奇数个集合 交集元素个数 前系数是 正数 , 偶数个集合 交集元素个数 前系数是 负数 ;
二、 容斥原理 示例
1 1 1 ~ 10000 10000 10000 之间 , 既不是某个整数的平方 , 又不是某个整数的立方 , 的数个数 ?
全集 : E E E 集合是全集 , 是 1 1 1 到 10000 10000 10000 的自然数 , E E E 集合的个数 ∣ E ∣ = 10000 |E| = 10000 ∣E∣=10000
平方对应的数集合 A A A : A A A 集合是 某个数 的平方 对应的 某个数 集合 , A = { x ∈ E ∣ x = k 2 ∧ k ∈ Z } A = \{ x \in E | x = k^2 \land k \in Z \} A={x∈E∣x=k2∧k∈Z} , A A A 集合元素个数是 ∣ 100 ∣ |100| ∣100∣ ;
10 0 2 = 10000 100^2 = 10000 1002=10000 , 因此 A A A 集合的元素是 { 0 , 1 , 2 , ⋯ , 100 } \{0, 1, 2 , \cdots , 100 \} {0,1,2,⋯,100} , 元素个数有 100 100 100 个 ; 1 2 , 2 2 , 3 3 , ⋯ , 10 0 2 1^2 , 2^2 , 3^3, \cdots ,100^2 12,22,33,⋯,1002 都在 1 1 1 到 10000 10000 10000 之间 , 10 1 2 = 10201 101^2 = 10201 1012=10201 就超过 10000 10000 10000 了 ;
立方对应的数集合 B B B : B B B 集合是 某个数 的立方 对应的 某个数 集合 , B = { x ∈ E ∣ x = k 3 ∧ k ∈ Z } B = \{ x \in E | x = k^3 \land k \in Z \} B={x∈E∣x=k3∧k∈Z} , A A A 集合元素个数是 ∣ 21 ∣ |21| ∣21∣ ;
2 1 3 = 9261 21^3 = 9261 213=9261 , 因此 B B B 集合的元素是 { 0 , 1 , 2 , ⋯ , 21 } \{0, 1, 2 , \cdots , 21 \} {0,1,2,⋯,21} , 元素个数有 21 21 21 个 ; 1 3 , 2 3 , 3 3 , ⋯ , 2 1 3 1^3 , 2^3 , 3^3, \cdots ,21^3 13,23,33,⋯,213 都在 1 1 1 到 10000 10000 10000 之间 , 2 2 2 = 10648 22^2 = 10648 222=10648 就超过 10000 10000 10000 了 ;
计算 A ∩ B A \cap B A∩B 集合的交集 C C C : 元素个数 , 既是平方 , 又是立方 , 肯定是六次方的数 , C = { x ∈ E ∣ x = k 6 ∧ k ∈ Z } C= \{ x \in E | x = k^6 \land k \in Z \} C={x∈E∣x=k6∧k∈Z} , C C C 集合的元素个数是 4 4 4 ;
4 6 = 4096 4^6 = 4096 46=4096 , 因此 C C C 集合的元素是 { 1 , 2 , 3 , 4 } \{1, 2 , 3, 4\} {1,2,3,4} , 元素个数有 4 4 4 个 ; 1 6 , 2 6 , 3 6 , 4 6 1^6 , 2^6 , 3^6, 4^6 16,26,36,46 都在 1 1 1 到 10000 10000 10000 之间 , 5 6 = 15 , 625 5^6 = 15,625 56=15,625 就超过 10000 10000 10000 了 ;
题目可以转化成 : 集合 Z Z Z 中 , 既不属于 A A A 集合 , 有不属于 B B B 集合 的数字 ;
集合 A A A 与 集合 B B B 并集是 A ∪ B A \cup B A∪B
上述并集 的 绝对补集 ∼ ( A ∪ B ) \sim ( A \cup B ) ∼(A∪B) 元素个数 ∣ ∼ ( A ∪ B ) ∣ |\sim ( A \cup B ) | ∣∼(A∪B)∣ , 就是题目中要求的结果 ;
∣ ∼ ( A ∪ B ) ∣ = ∣ E ∣ − ∣ A ∪ B ∣ |\sim ( A \cup B ) | = |E| - |A \cup B| ∣∼(A∪B)∣=∣E∣−∣A∪B∣
上述式子中 , ∣ E ∣ = 10000 |E| = 10000 ∣E∣=10000 , ∣ A ∪ B ∣ |A \cup B| ∣A∪B∣ 值可以使用 容斥原理 进行计算 ;
∣ A ∪ B ∣ |A \cup B| ∣A∪B∣ 两个集合并集的元素个数 , 可以使用两个集合的元素个数相加 , 然后减去两个集合交集的元素个数 ;
∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∪ B ∣ = 100 + 21 − 4 = 117 |A \cup B| = |A| + |B| - |A \cup B| = 100 + 21 - 4 = 117 ∣A∪B∣=∣A∣+∣B∣−∣A∪B∣=100+21−4=117
代入总的公式 : ∣ ∼ ( A ∪ B ) ∣ = ∣ E ∣ − ∣ A ∪ B ∣ = 10000 − 117 = 9883 |\sim ( A \cup B ) | = |E| - |A \cup B| = 10000 - 117 = 9883 ∣∼(A∪B)∣=∣E∣−∣A∪B∣=10000−117=9883
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/108876810
- 点赞
- 收藏
- 关注作者
评论(0)