【集合论】容斥原理 ( 包含排斥原理 | 示例 )

34 篇文章 99 订阅





一、 容斥原理



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=1nAi=i=1nAii<jAiAj+i<j<kAiAjAk+(1)n1A1A2An



解析 :

n n n 个集合进行并运算后 , 元素个数 , 通常使用 容斥原理 进行计算 ;

∑ i = 1 n ∣ A i ∣ \sum_{i = 1}^n | A_i | i=1nAi : 将每个集合中的 元素个数 相加 , 该值大于 总元素数 , 需要进行修正 ; ( 系数值 ( − 1 ) 0 (-1)^0 (1)0 )

∑ i < j ∣ A i ∩ A j ∣ \sum_{i < j} | A_i \cap A_j | i<jAiAj : 减去两两相交的元素个数 , 该值又小于 总元素数 , 继续进行修正 ; ( 系数值 ( − 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<kAiAjAk : 加上三个集合相交的元素个数 , 该值大于 总元素数 , 继续进行修正 ; ( 系数值 ( − 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)n1A1A2An : 加上 ( − 1 ) n − 1 ( -1 )^{n - 1} (1)n1 乘以 n − 1 n-1 n1 个集合相交的元素个数 ; ( 系数值 ( − 1 ) n − 1 (-1)^{n-1} (1)n1 )


上述 奇数个集合 交集元素个数 前系数是 正数 , 偶数个集合 交集元素个数 前系数是 负数 ;





二、 容斥原理 示例



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={xEx=k2kZ} , 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={xEx=k3kZ} , 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 AB 集合的交集 C C C : 元素个数 , 既是平方 , 又是立方 , 肯定是六次方的数 , C = { x ∈ E ∣ x = k 6 ∧ k ∈ Z } C= \{ x \in E | x = k^6 \land k \in Z \} C={xEx=k6kZ} , 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 AB

上述并集 的 绝对补集 ∼ ( A ∪ B ) \sim ( A \cup B ) (AB) 元素个数 ∣ ∼ ( A ∪ B ) ∣ |\sim ( A \cup B ) | (AB) , 就是题目中要求的结果 ;


∣ ∼ ( A ∪ B ) ∣ = ∣ E ∣ − ∣ A ∪ B ∣ |\sim ( A \cup B ) | = |E| - |A \cup B| (AB)=EAB

上述式子中 , ∣ E ∣ = 10000 |E| = 10000 E=10000 , ∣ A ∪ B ∣ |A \cup B| AB 值可以使用 容斥原理 进行计算 ;

∣ A ∪ B ∣ |A \cup B| AB 两个集合并集的元素个数 , 可以使用两个集合的元素个数相加 , 然后减去两个集合交集的元素个数 ;

∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∪ B ∣ = 100 + 21 − 4 = 117 |A \cup B| = |A| + |B| - |A \cup B| = 100 + 21 - 4 = 117 AB=A+BAB=100+214=117


代入总的公式 : ∣ ∼ ( A ∪ B ) ∣ = ∣ E ∣ − ∣ A ∪ B ∣ = 10000 − 117 = 9883 |\sim ( A \cup B ) | = |E| - |A \cup B| = 10000 - 117 = 9883 (AB)=EAB=10000117=9883

  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
容斥原理是一种计数方法,用于解决集合中某些对象的数目的问题。它的基本思想是先计算包含于某个内容中的所有对象的数目,然后排除重复计算的对象,以确保计数结果既不遗漏又没有重复。在容斥原理的应用中,通常需要先求出所有包含的区间,然后使用欧拉函数求和,并进行一些补充操作,例如乘以某个系数或减去一个常数。在使用容斥原理时,需要注意一些细节,例如在枚举因子时要注意使用最小公倍数(LCM),而不是直接相乘。如果容斥问题中的集合可能包含0,还需要特殊处理。至于如何使用容斥原理在MATLAB中求解具体的问题,我需要更多的上下文信息才能给出具体的指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [容斥原理](https://blog.csdn.net/ling_wang/article/details/80488797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [容斥原理练习记录](https://blog.csdn.net/z631681297/article/details/81318279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值