【集合论】容斥原理 ( 复杂示例 )

简介: 【集合论】容斥原理 ( 复杂示例 )

容斥原理 示例


24 2424 个人


说英语 , 日语 , 德语 , 法语 的人数 13 , 5 , 10 , 9 13, 5, 10, 913,5,10,9


同时说 英语 日语 人数 2 22


同时说 英语 德语 人数 4 44


同时说 英语 法语 人数 4 44


同时说 法语 德语 人数 4 44


说日语的人 不会 法语 德语 ;


求 只会说一种语言的人 ? 同时会说 英语 德语 法语 的人 ?




单个语言集合 :


A AA 集合表示会说英语的人的集合 , ∣ A ∣ = 13 |A| = 13∣A∣=13 ;


B BB 集合表示会说日语的人的集合 , ∣ B ∣ = 5 |B| = 5∣B∣=5 ;


C CC 集合表示会说德语的人的集合 , ∣ C ∣ = 10 |C| = 10∣C∣=10 ;


D DD 集合表示会说法语的人的集合 , ∣ D ∣ = 9 |D| = 9∣D∣=9 ;



两两相交集合 :


A ∩ B A \cap BA∩B 集合表示会说 英语 日语 的人的集合 , ∣ A ∩ B ∣ = 2 |A \cap B| = 2∣A∩B∣=2 ;


A ∩ C A \cap CA∩C 集合表示会说 英语 德语 的人的集合 , ∣ A ∩ C ∣ = 4 |A \cap C| = 4∣A∩C∣=4 ;


A ∩ D A \cap DA∩D 集合表示会说 英语 法语 的人的集合 , ∣ A ∩ D ∣ = 4 |A \cap D| = 4∣A∩D∣=4 ;


C ∩ D C \cap DC∩D 集合表示会说 德语 法语 的人的集合 , ∣ C ∩ D ∣ = 4 |C \cap D| = 4∣C∩D∣=4 ;



会说日语的人 , 既不不会说法语 , 也不会说德语 , 说明集合 B BB 与集合 C , D C, DC,D 都不相交 ;


∣ B ∩ C ∣ = ∣ B ∩ D ∣ = ∣ A ∩ B ∩ C ∣ = ∣ A ∩ B ∩ D ∣ = ∣ B ∩ C ∩ D ∣ = ∣ A ∩ B ∩ C ∩ D ∣ = 0 |B \cap C| = |B \cap D| = |A \cap B \cap C| = |A \cap B \cap D| = |B \cap C \cap D| = |A \cap B \cap C \cap D| = 0∣B∩C∣=∣B∩D∣=∣A∩B∩C∣=∣A∩B∩D∣=∣B∩C∩D∣=∣A∩B∩C∩D∣=0



总的人数是 24 2424 人 : ∣ A ∪ B ∪ C ∪ D ∣ = 24 |A \cup B \cup C \cup D| = 24∣A∪B∪C∪D∣=24



根据容斥原理 :


∣ A ∪ B ∪ C ∪ D ∣ = |A \cup B \cup C \cup D| =∣A∪B∪C∪D∣=


∣ A ∣ + ∣ B ∣ + ∣ C ∣ + ∣ D ∣ | A | + | B | + | C | + | D |∣A∣+∣B∣+∣C∣+∣D∣ 先将单个集合的个数相加


− ( ∣ A ∩ B ∣ + ∣ A ∩ C ∣ + ∣ A ∩ D ∣ + ∣ B ∩ C ∣ + ∣ B ∩ D ∣ + ∣ C ∩ D ∣ ) - ( | A \cap B | + | A \cap C | + | A \cap D | + | B \cap C | + | B \cap D | + | C \cap D |)−(∣A∩B∣+∣A∩C∣+∣A∩D∣+∣B∩C∣+∣B∩D∣+∣C∩D∣) 减去两两相交的元素个数


+ ( ∣ A ∩ B ∩ C ∣ + ∣ A ∩ B ∩ D ∣ + ∣ A ∩ C ∩ D ∣ + ∣ B ∩ C ∩ D ∣ ) + ( | A \cap B \cap C | + | A \cap B \cap D | + | A \cap C \cap D | + | B \cap C \cap D |)+(∣A∩B∩C∣+∣A∩B∩D∣+∣A∩C∩D∣+∣B∩C∩D∣) 加上三三相交的元素个数


− ∣ A ∩ B ∩ C ∩ D ∣ - |A \cap B \cap C \cap D|−∣A∩B∩C∩D∣ 减去 四个集合相交的元素个数


= 24 = 24=24



将上面的集合元素个数全部代入 :


∣ A ∪ B ∪ C ∪ D ∣ = |A \cup B \cup C \cup D| =∣A∪B∪C∪D∣=


13 + 5 + 10 + 9 13 + 5 + 10 + 913+5+10+9 先将单个集合的个数相加


− ( 2 + 4 + 4 + 0 + 0 + 4 ) - ( 2 + 4 + 4 + 0 + 0 + 4 )−(2+4+4+0+0+4) 减去两两相交的元素个数


+ ( 0 + 0 + ∣ A ∩ C ∩ D ∣ + 0 ) + ( 0 + 0 + | A \cap C \cap D | + 0 )+(0+0+∣A∩C∩D∣+0) 加上三三相交的元素个数


− 0 - 0−0 减去 四个集合相交的元素个数


= 24 = 24=24


计算后得到 :


37 − 14 + ∣ A ∩ C ∩ D ∣ = 24 37 - 14 + | A \cap C \cap D | = 2437−14+∣A∩C∩D∣=24


∣ A ∩ C ∩ D ∣ = 1 | A \cap C \cap D | = 1∣A∩C∩D∣=1




同时会说英法德语的人 ∣ A ∩ C ∩ D ∣ = 1 | A \cap C \cap D | = 1∣A∩C∩D∣=1 只有 1 11 个 ;



计算只会说英语的人 :


∣ A ∣ − ∣ ( B ∪ C ∪ D ) ∩ A ∣ | A | - | ( B \cup C \cup D ) \cap A |∣A∣−∣(B∪C∪D)∩A∣


= ∣ A ∣ − ∣ ( B ∩ A ) ∪ ( C ∩ A ) ∪ ( D ∩ A ) ∣ = |A| - | (B \cap A) \cup ( C \cap A ) \cup ( D \cap A ) |=∣A∣−∣(B∩A)∪(C∩A)∪(D∩A)∣


使用容斥原理 , 计算 ∣ ( B ∩ A ) ∪ ( C ∩ A ) ∪ ( D ∩ A ) ∣ | (B \cap A) \cup ( C \cap A ) \cup ( D \cap A ) |∣(B∩A)∪(C∩A)∪(D∩A)∣


∣ ( B ∩ A ) ∪ ( C ∩ A ) ∪ ( D ∩ A ) ∣ | (B \cap A) \cup ( C \cap A ) \cup ( D \cap A ) |∣(B∩A)∪(C∩A)∪(D∩A)∣


= ( ∣ B ∩ A ∣ + ∣ C ∩ A ∣ + ∣ D ∩ A ∣ ) = ( |B \cap A| + |C \cap A| + |D \cap A| )=(∣B∩A∣+∣C∩A∣+∣D∩A∣)


− ( ∣ A ∩ B ∩ C ∣ + ∣ A ∩ B ∩ D ∣ + ∣ A ∩ C ∩ D ∣ ) - ( | A \cap B \cap C | + | A \cap B \cap D | + | A \cap C \cap D |)−(∣A∩B∩C∣+∣A∩B∩D∣+∣A∩C∩D∣)


+ ( ∣ A ∩ B ∩ C ∩ D ∣ ) + ( |A \cap B \cap C \cap D| )+(∣A∩B∩C∩D∣)


= ( 2 + 4 + 4 ) − ( 0 + 0 + 1 ) + ( 0 ) = 9 = ( 2 + 4 + 4) - ( 0 + 0 + 1 ) + ( 0 ) = 9=(2+4+4)−(0+0+1)+(0)=9



∣ A ∣ − ∣ ( B ∪ C ∪ D ) ∩ A ∣ = ∣ A ∣ − ∣ ( B ∩ A ) ∪ ( C ∩ A ) ∪ ( D ∩ A ) ∣ = 13 − 9 = 4 | A | - | ( B \cup C \cup D ) \cap A |= |A| - | (B \cap A) \cup ( C \cap A ) \cup ( D \cap A ) | = 13 - 9 = 4∣A∣−∣(B∪C∪D)∩A∣=∣A∣−∣(B∩A)∪(C∩A)∪(D∩A)∣=13−9=4


只会说英语的人有 4 44 个 ;



按照上述步骤 , 计算出 其它 只说日语的人 3 33 个 , 只说 德语 的人 3 个 , 只说法语的人 2 22 个 ;


目录
相关文章
|
6月前
|
算法 JavaScript 测试技术
【数学】【组合数学】1830. 使字符串有序的最少操作次数
【数学】【组合数学】1830. 使字符串有序的最少操作次数
|
6月前
|
算法 测试技术 C++
【动态规划】【前缀和】【数学】2338. 统计理想数组的数目
【动态规划】【前缀和】【数学】2338. 统计理想数组的数目
|
6月前
【题型总结】动态规划之按照某种形式分割数组以获得最值
【题型总结】动态规划之按照某种形式分割数组以获得最值
75 0
|
5月前
|
移动开发 C++
【洛谷 P1157】组合的输出 题解(深度优先搜索+枚举子集)
该问题要求编程输出从1到n中选择r个元素的所有组合,组合按字典序排列。输入包含两自然数n和r(1<n<21, 0≤r≤n)。输出每个组合时,每个数字占据3个字符宽度。提供的AC代码使用C++,通过递归搜索方法枚举子集。样例输入为5 3,输出显示所有3个元素的组合。
49 0
每日三题-组合总和、全排列、括号生成
每日三题 组合总和 全排列 括号生成
86 0
每日三题-组合总和、全排列、括号生成
|
项目管理
求组合数(模板)【组合数学】
求组合数(模板)【组合数学】
140 0
求组合数(模板)【组合数学】
|
机器学习/深度学习
【组合数学】鸽巢原理 ( 鸽巢原理简单形式 | 鸽巢原理简单形式示例 1、2、3 )
【组合数学】鸽巢原理 ( 鸽巢原理简单形式 | 鸽巢原理简单形式示例 1、2、3 )
137 0
【组合数学】鸽巢原理 ( 鸽巢原理简单形式 | 鸽巢原理简单形式示例 1、2、3 )
|
机器学习/深度学习
【组合数学】组合数学简介 ( 组合思想 3 : 上下界逼近 | 上下界逼近示例 Remsey 数 )
【组合数学】组合数学简介 ( 组合思想 3 : 上下界逼近 | 上下界逼近示例 Remsey 数 )
248 0
【组合数学】组合数学简介 ( 组合思想 3 : 上下界逼近 | 上下界逼近示例 Remsey 数 )
【组合数学】排列组合 ( 排列组合示例 )
【组合数学】排列组合 ( 排列组合示例 )
282 0
|
机器学习/深度学习
【组合数学】递推方程 ( 特解形式 | 特解求法 | 特解示例 )
【组合数学】递推方程 ( 特解形式 | 特解求法 | 特解示例 )
284 0