
前面三课已经把分类计数、分步计数、排列组合、捆绑法、插空法、至少/至多、补集与排除法串了起来。
本课我们把这些计数思想进一步提升到集合与子集。这一课的重点不是让同学们背很多集合符号,而是让大家明白:
集合是在“数东西”,子集是在“做选择”。
而“每个元素选不选”,就会产生:

第四十三课:集合与子集——从“选不选”到 2^n
一、先从一个“魔法集合”开始
小明有4张卡片:
1号:🐱
2号:🐶
3号:🐰
4号:🐼
现在老师问:
从这4张卡片中,任意挑一些出来,可以有多少种不同的选择?
注意:
可以一张都不选,也可以全部选。
例如:
什么都不选
只选🐱
只选🐶
🐱🐶
🐱🐰
🐶🐼
……
四张全部选
问题来了:
一共有多少种?
二、不要一个一个列!
如果只有4个元素,可以列。
但是如果有:
10个
20个
100个
还能一个一个列吗?
当然不行。
所以我们需要找到规律。
三、每个元素只有两个选择
对于🐱来说:
选
不选
只有2种可能。
对于🐶:
选
不选
也是2种。
对于🐰:
选
不选
还是2种。
对于🐼:
选
不选
还是2种。
于是:
第1个:2种
第2个:2种
第3个:2种
第4个:2种
根据我们第42课学过的:
分步计数 → 相乘
所以:
2×2×2×2
即:

四、这就是“子集个数”
一个集合有 n 个元素。
它的所有子集数量是:

为什么?
因为:
每一个元素,都只有“选”和“不选”两种状态。
于是:
2×2×⋯×2⏟n个 = 2^n
五、最重要的一个问题:空集算不算?
例如集合:
A = {1,2,3}
它的子集有哪些?
{}
{1}
{2}
{3}
{1,2}
{1,3}
{2,3}
{1,2,3}
一共:
8
个。
也就是:
2^3 = 8
其中:
{}
就是:
空集
空集也是任何集合的子集。
所以:
计算子集数量时,一定要把空集算进去。
六、初学者容易混淆:子集和真子集
这是CSP-J初赛非常值得注意的概念。
假设:
A = {1,2,3}
那么:
{1,2}
是A的子集。
而:
{1,2,3}
也是A的子集。
因为一个集合本身也是自己的子集。
所以:
子集包括集合本身
七、什么是真子集?
真子集就是:
是子集,但是不能和原集合完全一样。
例如:
{1,2}
是A的真子集。
但是:
{1,2,3}
不是A的真子集。
所以:
如果集合有 n 个元素:
子集

真子集
把集合自己去掉:

八、用“小盒子”理解子集
可以继续使用我们一直给同学们讲的“盒子”思维。
集合:
┌───────────────┐
│ 1 2 3 4 │
└───────────────┘
构造一个子集,就相当于:
对每个数字做一次选择。
1:拿 / 不拿
2:拿 / 不拿
3:拿 / 不拿
4:拿 / 不拿
每个元素:
2种
所以:
2^4
九、子集为什么和前面课中的“分步计数”有关系?
因为:
选择每一个元素是否进入子集,就是一个步骤。
例如:
决定1进不进
↓
决定2进不进
↓
决定3进不进
↓
……
每一步:
2种
因此:

所以:

这就是数学知识之间的连接。
十、如果要求“恰好选2个”呢?
现在集合有:
{1,2,3,4,5}
问:
有多少个子集恰好包含2个元素?
这时候就不是 2^5 了。
因为我们要求:
恰好选2个。
也就是从5个元素中:
选2个
所以:

十一、这就把“子集”和“组合”连接起来了
所有子集:每个元素选/不选
所以:
2^n
而:
恰好选k个元素:从n个元素中选择k个
所以:

十二、举一个完整例子
集合:
A={1,2,3,4}
一共有4个元素。
所有子集
2^4=16
恰好有1个元素的子集

恰好有2个元素的子集

恰好有3个元素的子集

恰好有4个元素的子集

把它们加起来:

得到:
1 + 4 + 6 + 4 + 1=16
恰好等于:
2^4
十三、这就是一个非常漂亮的数学规律

这其实就是二项式定理中非常重要的一种情况。
同学们已经学习过杨辉三角,还可以把它联系起来:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
第四行:
1+4+6+4+1=16
也就是:
2^4
十四、从“子集”进入集合运算
现在我们开始学习集合最常见的三个操作:
交集
并集
补集
可以用两个“魔法圈”来理解。
十五、并集:两个集合“合起来”
例如:
A={1,2,3} B={3,4,5}
把两个集合放在一起:
A:1 2 3
B: 3 4 5
并集就是:
A或B中的元素都要。
记作:
A∪B
所以:
A∪B={1,2,3,4,5}
十六、为什么3只能写一次?
因为集合中:
相同元素不能重复记录。
虽然:
A里有3
B里也有3
但是并集仍然只有一个3。
所以:
A∪B={1,2,3,4,5}
而不是:
{1,2,3,3,4,5}
十七、交集:两个集合“共同拥有”
还是:
A={1,2,3} B={3,4,5}
A和B共同拥有:
3
所以:
A∩B
表示交集:
A∩B = {3}
记忆:
并集:有一个就行。
交集:两个都要有。
十八、生活中的例子
班级里:
A集合:
喜欢足球的同学
B集合:
喜欢篮球的同学
那么:
A∪B
表示:
喜欢足球或者篮球的同学。
A∩B
表示:
足球、篮球都喜欢的同学。
这和前面课程中的:
“或者”与“并且”
其实又联系起来了。
十九、集合中的“补集”
假设全集:
U={1,2,3,4,5}
集合:
A={1,2,3}
那么:
不属于A,但属于全集U的元素
就是:
4 5
这叫:
A的补集
记作:

因此:

二十、补集与上一课“至少、排除法”再次连接
上一课我们学习:
符合条件 = 总数 − 不符合条件
现在集合中:

就是:
A的反面。
所以:
A → 满足条件
A的补集 → 不满足条件
这就是为什么:
集合补集和排列组合中的补集思想,本质上是同一个思维。
二十一、集合的三个基本运算
同学们要记住:
| A∪B | 并集 | A或B |
| A∩B | 交集 | A和B都有 |
![]() |
补集 | 不属于A |
可以记成:
并:合起来
交:共同部分
补:剩下的
二十二、集合数量计算:最重要的公式
假设:
∣A∣
表示A中元素的个数。
例如:
A={1,2,3,4}
那么:
∣A∣=4
如果:
∣A∣=5 ∣B∣=6
而且A、B没有共同元素。
那么:
∣A∪B∣= 5+6 = 11
二十三、如果A、B有重复元素怎么办?
例如:
A={1,2,3,4} B={3,4,5,6}
那么:
∣A∣=4 ∣B∣=4
但是:
∣A∪B∣
不是8。
因为3、4被重复计算了。
二十四、要减去重复部分
A和B共同拥有:
{3,4}
所以:
∣A∩B∣=2
因此:
∣A∪B∣=∣A∣+∣B∣−∣A∩B∣
代入:
4+4−2=6
所以:
∣A∪B∣=6
二十五、为什么一定要减一次交集?
可以把它想象成点名。
第一次:
点A集合。
4个人。
第二次:
点B集合。
4个人。
总共点了:
4+4=8
但是:
3
4
被点了两次。
我们真正需要:
每个人只算一次。
所以:
8−2 = 6
因此:
∣A∪B∣=∣A∣+∣B∣−∣A∩B∣
二十六、这个公式在CSP-J非常重要
看到:
喜欢A项目的有30人;
喜欢B项目的有25人;
两个项目都喜欢的有10人;
至少喜欢其中一个的有多少人?
马上想到:
30+25−10
所以是:
45
二十七、为什么不是30+25=55?
因为:
同时喜欢两个项目的人,被计算了两次。
所以要减掉一次:
55−10=45
这其实也是:
排除重复计数。
二十八、集合和“至少一个”再次连接
“至少喜欢一个”是什么意思?
就是:
喜欢A或者喜欢B。
也就是:
A∪B
所以:
至少一个 ⟺ 并集
而:
两个都喜欢
就是:
A ∩ B
所以:
两个都满足 ⟺ 交集
二十九、一个综合例题
班里有40名同学。
其中:
-
25人喜欢数学
-
20人喜欢编程
-
10人数学和编程都喜欢
问:
至少喜欢数学和编程中的一个的有多少人?
设:
A=喜欢数学 B=喜欢编程
那么:
∣A∣=25 ∣B∣=20 ∣A∩B∣=10
所以:
∣A∪B∣= 25 + 20−10 = 35
三十、那两样都不喜欢的有多少人?
全班40人。
至少喜欢一个:
35
所以:
40−35 = 5
这又一次用到了:
补集思想。
也就是:
都不喜欢 = 总人数 − 至少喜欢一个
三十一、把整个思路串起来
集合
│
├── 并集 A∪B
│ ↓
│ 至少一个
│
├── 交集 A∩B
│ ↓
│ 两个都有
│
└── 补集 Aᶜ
↓
反面
↓
总数-满足
大家会发现:
上一课的补集思想,在本课再次出现。
三十二、集合与排列组合又连接起来了
现在再看一个问题:
集合有5个元素。
问:
它有多少个子集?
答案:
2^5
如果问:
恰好有2个元素的子集有多少个?
答案:

如果问:
至少有1个元素的子集有多少个?
所有子集:
2^5
但是空集不符合。
所以:
2^5 – 1 =31
三十三、如果问“至少2个元素”呢?
全集子集数量:
2^5
不满足:
0个
1个
所以:

= 32−1−5 = 26
这正好把:
组合
至少/补集
子集
全部连接起来。
三十四、CSP-J初赛的典型考法
以后看到:
一个集合有 n 个元素,它的子集有多少个?
答案:

看到:
真子集有多少个?
答案:

看到:
恰好包含 k 个元素的子集有多少个?
答案:

看到:
至少包含一个元素的子集有多少个?
答案:

看到:
至少包含2个元素?
答案:

三十五、一个初学者容易错的地方
题目:
一个集合有5个元素,有多少个子集?
答案:
2^5=32
有人会写:
5!
这是错的。
为什么?
因为:
5!
是在考虑:
5个元素怎么排列。
而:
2^5
是在考虑:
5个元素每一个选还是不选。
两者解决的问题完全不同。
三十六、“排列”和“子集”有什么区别?
例如:
{A,B,C}
选择两个元素。
如果问:
选出两个元素。
那么:
AB
AC
BC
一共:

因为:
AB和BA是同一种选择。
但是如果问:
从A、B、C中选2个排成一排。
那么:
AB
BA
AC
CA
BC
CB
一共:
3×2 = 6
因为:
AB和BA是不同顺序。
三十七、所以大家必须记住
集合关注“有没有”。
排列关注“顺序”。
例如:
{A,B}
和:
{B,A}
它们是同一个集合。
但是排列:
AB
和:
BA
是两种不同的排列。
三十八、本课“反粗心”训练
做集合题的时候,同学们强制检查:
① 子集包括集合本身吗?
包括。
② 空集算不算?
算。
③ 真子集包括集合本身吗?
不包括。
④ 集合中的元素有顺序吗?
没有。
⑤ 并集中的重复元素怎么算?
只算一次。
⑥ 交集表示什么?
共同部分。
⑦ “至少一个”对应什么?
并集。
⑧ “都不满足”怎么办?
考虑补集。
三十九、本课知识地图
集合
│
┌──────────┼──────────┐
↓ ↓ ↓
并集 交集 补集
A∪B A∩B Aᶜ
│ │ │
或者 都有 反面
│ │ │
至少一个 同时满足 总数-满足
│
↓
子集
│
┌─────────┼─────────┐
↓ ↓ ↓
所有子集 恰好k个 真子集
↓ ↓ ↓
2ⁿ C(n,k) 2ⁿ-1
四十、我们已经形成一条完整的数学链
现在回头看前面四课:
第40课
分类、分步
↓
加法、乘法
↓
排列、组合
第41课
特殊限制
↓
捆绑、插空、固定位置
第42课
至少、至多
↓
补集、排除、避免重复
第43课
集合与子集
↓
并集、交集、补集
↓
2ⁿ、C(n,k)
↓
再次连接排列组合
所以我们不是在“堆知识点”,而是在不断把前面的知识重新组合起来。
四十一、本课给同学们的“魔法口诀”
🪄 集合与子集四句口诀
集合没有顺序,重复元素不算;
并集就是合起来,交集就是共同部分;
每个元素选不选,两种选择乘起来;
n个元素的子集,一共就是 2n2^n。
空集也算子集,真子集要减掉自己!
再加一句:
“至少”想并集,“都不”想补集,“恰好k个”想组合。
四十二、课后练习
1
集合 A={1,2,3} ,一共有多少个子集?
8
2
集合 A={1,2,3,4,5} ,有多少个子集?
32
3
一个有6个元素的集合,有多少个真子集?
2^6 −1 = 63
4
一个有5个元素的集合,有多少个恰好包含2个元素的子集?

5
一个有5个元素的集合,有多少个至少包含1个元素的子集?

6
一个有5个元素的集合,有多少个至少包含2个元素的子集?

= 32−1−5 =26
7
如果:
A={1,2,3} B={3,4,5}
那么:
A∪B
是什么?
答案:
{1,2,3,4,5}
8
前题中,同样的A、B:
A ∩ B
是什么?
答案:
{3}
9
某班有30人喜欢C++,20人喜欢数学,其中10人两者都喜欢。
至少喜欢其中一门的有多少人?
30 + 20 − 10 = 40
10
全班50人,至少喜欢C++或数学的有40人,那么两门都不喜欢的有多少人?
50−40 = 10
网硕互联帮助中心




评论前必须登录!
注册