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

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

文章目录

一、 容斥原理

二、 容斥原理 示例





一、 容斥原理


A 1 , A 2 , ⋯   , A n A_1 , A_2 , \cdots , A_nA

1


,A

2


,⋯,A

n


 是 n nn 个集合 ; 则 这 n nn 个集合 并集的元素个数 是 :


∣ ⋃ 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

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


∩⋯∩An∣




解析 :


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


∑ i = 1 n ∣ A i ∣ \sum_{i = 1}^n | A_i |∑

i=1

n


∣A

i


∣ : 将每个集合中的 元素个数 相加 , 该值大于 总元素数 , 需要进行修正 ; ( 系数值 ( − 1 ) 0 (-1)^0(−1)

0

 )


∑ i < j ∣ A i ∩ A j ∣ \sum_{i < j} | A_i \cap A_j |∑

i<j


∣A

i


∩A

j


∣ : 减去两两相交的元素个数 , 该值又小于 总元素数 , 继续进行修正 ; ( 系数值 ( − 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


∣A

i


∩A

j


∩A

k


∣ : 加上三个集合相交的元素个数 , 该值大于 总元素数 , 继续进行修正 ; ( 系数值 ( − 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

∣A

1


∩A

2


∩⋯∩An∣ : 加上 ( − 1 ) n − 1 ( -1 )^{n - 1}(−1)

n−1

 乘以 n − 1 n-1n−1 个集合相交的元素个数 ; ( 系数值 ( − 1 ) n − 1 (-1)^{n-1}(−1)

n−1

 )



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






二、 容斥原理 示例


1 11 ~ 10000 1000010000 之间 , 既不是某个整数的平方 , 又不是某个整数的立方 , 的数个数 ?




全集 : E EE 集合是全集 , 是 1 11 到 10000 1000010000 的自然数 , E EE 集合的个数 ∣ E ∣ = 10000 |E| = 10000∣E∣=10000



平方对应的数集合 A AA : A AA 集合是 某个数 的平方 对应的 某个数 集合 , A = { x ∈ E ∣ x = k 2 ∧ k ∈ Z } A = \{ x \in E | x = k^2 \land k \in Z \}A={x∈E∣x=k

2

∧k∈Z} , A AA 集合元素个数是 ∣ 100 ∣ |100|∣100∣ ;


10 0 2 = 10000 100^2 = 10000100

2

=10000 , 因此 A AA 集合的元素是 { 0 , 1 , 2 , ⋯   , 100 } \{0, 1, 2 , \cdots , 100 \}{0,1,2,⋯,100} , 元素个数有 100 100100 个 ; 1 2 , 2 2 , 3 3 , ⋯   , 10 0 2 1^2 , 2^2 , 3^3, \cdots ,100^21

2

,2

2

,3

3

,⋯,100

2

 都在 1 11 到 10000 1000010000 之间 , 10 1 2 = 10201 101^2 = 10201101

2

=10201 就超过 10000 1000010000 了 ;



立方对应的数集合 B BB : B BB 集合是 某个数 的立方 对应的 某个数 集合 , B = { x ∈ E ∣ x = k 3 ∧ k ∈ Z } B = \{ x \in E | x = k^3 \land k \in Z \}B={x∈E∣x=k

3

∧k∈Z} , A AA 集合元素个数是 ∣ 21 ∣ |21|∣21∣ ;


2 1 3 = 9261 21^3 = 926121

3

=9261 , 因此 B BB 集合的元素是 { 0 , 1 , 2 , ⋯   , 21 } \{0, 1, 2 , \cdots , 21 \}{0,1,2,⋯,21} , 元素个数有 21 2121 个 ; 1 3 , 2 3 , 3 3 , ⋯   , 2 1 3 1^3 , 2^3 , 3^3, \cdots ,21^31

3

,2

3

,3

3

,⋯,21

3

 都在 1 11 到 10000 1000010000 之间 , 2 2 2 = 10648 22^2 = 1064822

2

=10648 就超过 10000 1000010000 了 ;



计算 A ∩ B A \cap BA∩B 集合的交集 C CC : 元素个数 , 既是平方 , 又是立方 , 肯定是六次方的数 , C = { x ∈ E ∣ x = k 6 ∧ k ∈ Z } C= \{ x \in E | x = k^6 \land k \in Z \}C={x∈E∣x=k

6

∧k∈Z} , C CC 集合的元素个数是 4 44 ;


4 6 = 4096 4^6 = 40964

6

=4096 , 因此 C CC 集合的元素是 { 1 , 2 , 3 , 4 } \{1, 2 , 3, 4\}{1,2,3,4} , 元素个数有 4 44 个 ; 1 6 , 2 6 , 3 6 , 4 6 1^6 , 2^6 , 3^6, 4^61

6

,2

6

,3

6

,4

6

 都在 1 11 到 10000 1000010000 之间 , 5 6 = 15 , 625 5^6 = 15,6255

6

=15,625 就超过 10000 1000010000 了 ;




题目可以转化成 : 集合 Z ZZ 中 , 既不属于 A AA 集合 , 有不属于 B BB 集合 的数字 ;


集合 A AA 与 集合 B BB 并集是 A ∪ B A \cup BA∪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


目录
相关文章
|
机器学习/深度学习 数据挖掘
R实战|从文献入手谈谈logistic回归、Cox回归以及Lasso分析(一)
R实战|从文献入手谈谈logistic回归、Cox回归以及Lasso分析(一)
1121 0
|
Web App开发 自然语言处理 安全
文字点选行为验证码(KgCaptcha快速入门)
凯格行为验证码 - KgCaptcha,采用业界通用的API接口方式,对接轻松简单,即可享受带来的产品服务能力。自定义样式及风控等级,完全个性化的设置,与你的应用完美融合。自由定义验证场景、安全策略、素材管理、自定义底图、拼图素材、验证模式、验证偏好、背景图片、Logo、跳转链接。定制需求由业务专家制定解决方案,支持私有化部署、多语言切换。
744 0
文字点选行为验证码(KgCaptcha快速入门)
|
6月前
|
机器学习/深度学习 人工智能 PyTorch
模型手动绑骨3天,AI花3分钟搞定!UniRig:清华开源通用骨骼自动绑定框架,助力3D动画制作
UniRig是清华大学与VAST联合研发的自动骨骼绑定框架,基于自回归模型与交叉注意力机制,支持多样化3D模型的骨骼生成与蒙皮权重预测,其创新的骨骼树标记化技术显著提升动画制作效率。
858 27
模型手动绑骨3天,AI花3分钟搞定!UniRig:清华开源通用骨骼自动绑定框架,助力3D动画制作
|
7月前
|
存储 人工智能 API
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
OWL 是基于 CAMEL-AI 框架开发的多智能体协作系统,通过智能体之间的动态交互实现高效的任务自动化,支持角色分配、任务分解和记忆功能,适用于代码生成、文档撰写、数据分析等多种场景。
1513 13
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
|
12月前
|
SQL 存储 数据库
实验4:SQL视图操作技巧与方法
在数据库管理系统中,视图(View)是一种虚拟表,它基于SQL查询的结果集创建,并不实际存储数据
|
机器学习/深度学习 人工智能 安全
云上智能风控:重塑金融安全的智能屏障
灵活性:系统具备良好的灵活性和可扩展性,能够根据业务需求进行功能扩展和升级。 成本节约:通过自动化和智能化的方式降低人工成本,提高风控效率的同时减少不必要的开支。 4.2 未来展望 随着技术的不断进步和市场的不断发展,云上智能风控将迎来更加广阔的发展前景。未来,云上智能风控系统将进一步优化算法模型和技术架构,提高风险识别的准确性和效率;
558 7
|
存储 缓存 分布式计算
You Only Cache Once:YOCO 基于Decoder-Decoder 的一个新的大语言模型架构
YOCO是一种新的解码器-解码器架构,旨在解决大型语言模型推理时的内存限制问题。通过只缓存一次键值对,YOCO显著减少了GPU内存占用,与Transformer相比,内存使用降低了约L倍。模型由自解码器和交叉解码器组成,自解码器使用滑动窗口注意力,而交叉解码器利用全局KV缓存。实验表明,YOCO在保持竞争力的性能同时,提高了推理速度,尤其是在处理长序列时。此外,YOCO还减少了预填充时间,提升了吞吐量。
538 3
|
Web App开发 缓存 监控
如何使用 Chrome DevTools 进行网页性能优化?
如何使用 Chrome DevTools 进行网页性能优化?
|
IDE C# 开发工具
VS2019版本下载详细介绍~
VS2019版本下载详细介绍~
1530 0
量规(Rubric)
量规(Rubric)是一种常用于教育和评估领域的工具,用于帮助评估者对学生的表现进行评分。它通常包含一系列具体的评估标准,以及每个标准对应的分数范围。量规可以确保评估过程的客观性和一致性,使得评估者能够更加准确地对学生表现进行评分。
543 5