跳到正文

《把数学说清楚》独立补充读本

为什么一定会重复?

把对象分进有限个类别,就能用数量证明:有些事情一定发生。

抽屉可以是月份、余数、一个小方格,也可以是“某种数值”。竞赛题最有意思的一步,往往是把这些藏起来的抽屉找出来。

抽屉1
123

3个 · 达到目标

抽屉2
45

2个

抽屉3
67

2个

7个放进3屉,一定有一屉至少3个。

若每屉最多2个,总共最多3×2=6个,放不下7个。

图中显示尽量均匀的一种放法。证明要覆盖所有放法,不能只靠这张图。

图1让每个抽屉都停在目标以下,算出最多能放多少,再多一个就不能躲开目标。

适合初中低年级。需要会整数运算、分数、余数,以及“每个”“存在”“如果”。坐标、部分和等新工具会在相应题目前介绍。

这整本都是选读,不占原教材两周核心课时

* 基础:看懂原理,会给出简单证明。
** 进阶:自己设计抽屉,处理重叠,连接计数与概率。
*** 挑战:构造新对象,或把几步推理连接起来。

共40题:18道抽屉原理题、6道容斥题、8道概率题、4道一一对应题、4道双重计数题。题目按经典竞赛题型重新编排,配有分层提示与完整解答;不标作某届竞赛真题。

建议先读第1—4节,做A01、A02、A05;也可先接第7—8节的一一对应与双重计数,再读第5节容斥与第6节骰子概率。进阶题每次选2—3题研究,不必一次做完。

* 1 · 先把问题分清楚

计数是组合数学的一部分

计数研究“有多少个对象”或“有多少种做法”。它是组合数学的重要部分,常叫组合计数。组合数学还研究离散对象怎样安排、某种结构是否存在、最多或最少能达到多少等问题。

问题问的是什么常用工具
2件上衣和3条裤子,有几种搭配?有多少种计数、笛卡尔积
13个人中,是否一定有人出生在同一个月份?一定存在吗抽屉原理
至少摸出几只袜子,才能保证有两只同色?最少需要多少最坏情况、边界构造
掷两枚骰子,点数和为7的机会有多大?有多大可能概率模型与计数

抽屉原理常用计数作证明,却不一定告诉我们有多少种好情况。概率论研究不确定性;本书只选其中可以用有限集合计数处理的例子。

两条计数规则,先从熟悉的例子认识

乘法原理:连续完成几步

先选上衣,有2种;选好任意一件后,裤子都有3种选择。因此有2×3=6种搭配。若每个第一步选择之后,第二步选择数不相同,就不能随意乘一个固定数。

加法原理:分成不重叠的几类

只买一本书:3本故事书与2本漫画书互不重叠,就有3+2=5种选择。

如果两个类别有重叠,直接相加会重复计算。例如某书既是科普书又是漫画书,计算“科普书或漫画书”的总数时,交集只应算一次。

|A∪B| = |A|+|B|−|A∩B|。

这里A、B是有限集合,|A|表示A的元素个数,叫基数。两条竖线在这里数元素,与数的绝对值要按对象区分。

这个处理重叠的公式,是容斥原理的两个集合版本。第5节会解释它为什么成立,以及三个集合为什么还要“加回来”。

会数,不等于已经能算概率

“可能结果有3种,所以每种概率都是1/3”不一定对。只有这些基本结果确实等可能时,才能这样平均分。两个骰子的“点数和”恰好会暴露这个错误。

* 2 · 一个原理,三种说法

先算“都没达到目标”能放多少

基本形式:比抽屉多一个

把n+1个对象放进n个抽屉,每个对象恰好放进一个抽屉,则至少有一个抽屉里有不少于2个对象。这里n是正整数。

抽屉允许空着,不要求每屉都有人。对象也不必是球;人、整数、点、集合都可以,只要说清楚怎样归类。

证明 · 用否定结论来检查

假设没有一个抽屉装了2个或更多对象,那么每屉最多1个。n个抽屉总共最多n个对象,与共有n+1个对象矛盾。因此至少有一屉装了2个或更多对象。

推广形式:保证至少r个在同一屉

如果想让某一屉至少有r个,就先假设所有屉都最多r−1个。m个抽屉总共最多m(r−1)个。

N > m(r−1) ⇒ 至少有一个抽屉装了r个或更多对象。

因此,在没有其他限制的放置问题中,保证出现这一情况所需的最少对象数是m(r−1)+1。m、r是正整数,通常关注r≥2。

例 · 25个人,按出生月份分类

12个月是12个抽屉。若每个月都最多2人,总数最多12×2=24人。因此25个人中,一定有至少3人出生在同一个月份。

24个人却不一定:可以每个月恰好2人。这个安排说明“25”不能再降低。

“存在”不等于“指定”,“保证”不等于“可能”

不能由上例说“一定有3人出生在一月”,也不能说“每个月都至少3人”。我们只保证某个月有至少3人。

少于25人,也可能有3人同月;只是不能对所有情况作保证。

* 3 · 为什么这是集合与逻辑的应用?

集合记录分组,逻辑保证结论

集合角度:所有对象分到哪里?

设A是所有对象组成的有限集合。把第1屉的对象记作A1,第2屉的记作A2,依次继续。分类要满足:

  1. 不漏:A1∪A2∪⋯∪Am=A。
  2. 不重:不同抽屉没有共同元素,即i≠j时,Ai∩Aj=∅。

这里允许有空抽屉。删去空组后,这样的分类叫集合的划分。

|A| = |A1|+|A2|+⋯+|Am|。

这就是反证法中的总数计算。如果分组重叠,这个等式可能失效。若一个对象适合多个抽屉,就先规定一条规则,把它唯一地放入其中一屉。

逻辑角度:“某个很多”的否定是什么?

要证明“存在一个抽屉,里面至少有r个”,它的否定是“每个抽屉里面都少于r个”。对象数是整数,所以“少于r个”也就是“最多r−1个”。

目标:存在一个∃i∈{1,…,m},|Ai|≥r

至少一屉达到目标。

否定:每一个都没有∀i∈{1,…,m},|Ai|≤r−1

所有屉都停在目标以下。

图2否定“存在”,得到“每个都不”;把这个否定代入总数,就产生矛盾。

所以抽屉原理同时使用了:集合分类、量词的否定、整数计数、反证法。它不是仅凭几次观察总结出来的猜测。

* 4 · 解题时怎么想

先问:同一屉,能带来什么好处?

不要一开始只找“对象数大于抽屉数”。先看要得到的结论,再设计分类,让“两个对象同屉”能带来这个结论。

希望得到的结论可以尝试的抽屉对应题目
颜色、月份相同按已有类别分A01、A02
两数的和固定把互补的两个数配成一组A05
两数的差能被m整除按除以m的余数分A07
两点很接近把大区域切成小区域A10、A11
某段连续数的和有性质先造部分和,再分类A13
一个数整除另一个把反复乘2能互相到达的数分一组A14
两个选数方案总和相同把“方案”当对象,按总和分类A18

一份完整解答,至少交代四件事

  1. 对象是什么,有多少个?
  2. 抽屉怎样定义,有多少个?每个对象怎样唯一归类?
  3. 数量为什么超过“都不达标”的总容量?
  4. 同屉的对象,为什么正好满足题目的目标?

如果题目问“最少多少”,还要补一件事:构造一个再少一个时仍然失败的例子。它证明你的答案不仅够用,而且不能降低。

竞赛练习 A · 先看见容量

已有的类别,也能藏着陷阱

先独立思考,再打开提示。写答案时,除了给数字,还要说明为什么足够、为什么不能更少。

* 月份分类 · 最少保证数

A01同一个月份出生

至少需要多少个人,才能保证其中有3个人出生在同一个月份?人数再少1时,为什么不能保证?

提示:先让每个月都不到3人

每个月最多允许2人。这里按月份分类,不需要考虑每个月有几天。

完整解答

12个月是12个抽屉。每屉最多2人时,总数最多24人。因此25人一定有某个月至少3人出生。

24人可能每个月恰好2人,所以不能保证。答案是25人。

对象:人;抽屉:12个月;避开目标的总容量:12×2=24。

* 颜色分类 · 最坏情况

A02闭着眼睛拿袜子

袋里有红、蓝、黑三种颜色的袜子,每种都有很多只。每次摸一只,不放回。至少摸几只,才能保证有两只同色?如果要求三只同色呢?这里只要求颜色相同,不区分左右脚。

提示:一直设法避开目标,会怎样?

要避开“两只同色”,每色最多1只;要避开“三只同色”,每色最多2只。

完整解答

两只同色:3×1+1=4只足够。3只可能三种颜色各一只,所以4是最少数。

三只同色:3×2+1=7只足够。6只可能每色各两只,所以7是最少数。

“每种很多只”保证这些最坏安排确实可以出现。如果袋里每种只有1只,就不能照搬结论。

* 分数分类 · 别漏掉0

A03203份试卷

一场考试有203名学生,分数都是0到100之间的整数,包含0和100。证明至少有3人得分相同。202人时是否也一定如此?

提示:一共有多少种分数?

从0数到100,一共有101个整数,不是100个。

完整解答

按得分分成101屉。如果每种分数最多2人,总人数最多202。203>202,所以至少有3人得分相同。

202人时,可以每种分数恰好2人。因此不能保证。

陷阱:抽屉数是101。少数一个抽屉,推理就会改变。

** 不同容量 · “或者”型目标

A04三个颜色,三个门槛

袋中红、蓝、绿球都足够多。不看颜色取球,至少取多少个,才能保证下面至少一项成立:红球不少于4个,或蓝球不少于3个,或绿球不少于5个?

提示:先否定整个“或”命题

三项都不成立时,红球≤3,蓝球≤2,绿球≤4。想一想这里为什么要用“且”。

完整解答

要同时避开三项目标,最多只能取3+2+4=9个。因此取10个时,至少一项成立。

取9个可能恰好是3红、2蓝、4绿,三项都不成立。所以最少是10个。

这里使用了德摩根律:否定“红达标或蓝达标或绿达标”,得到“红不达标且蓝不达标且绿不达标”。

竞赛练习 A · 主动设计类别

把有用的两个数放在一起

* 互补配对 · 固定和

A05为什么一定能凑成21?

从1到20中任意选出11个不同的整数。证明其中一定有两个数的和是21。只选10个时,结论还一定成立吗?

提示:1应当和谁同屉?2呢?

让同一屉里的两个数恰好相加等于21。这样的屉能覆盖1到20吗?会重叠吗?

完整解答
1,20
2,19
3,18
4,17
5,16
6,15
7,14
8,13
9,12
10,11
图310个不重叠的数对覆盖全部20个数,每对的和都是21。

把选中的11个数按上图归类。11个对象进10屉,至少一屉有两个选中的数,它们的和就是21。

只选1、2、…、10时,任意两数的和都小于21。所以10个不能保证。

关键:抽屉不是单个数,而是“能凑出21的一对数”。

** 相邻配对 · 迁移同一种方法

A06同样选11个数,换一个目标

从1到20中任意选出11个不同的整数。证明其中一定有两个相邻整数。只选10个时,给出一个没有相邻数的选法。

提示:让“同屉”保证“相邻”

试试{1,2}、{3,4}、…、{19,20},不要继续使用上一题的和为21的分组。

完整解答

把20个数分成10组:{1,2}、{3,4}、…、{19,20}。11个选中的数至少有两个来自同一组。这两个数相邻。

选1、3、5、…、19这10个奇数,就没有相邻数。因此不能把11改为10。

再走一步:相邻两个正整数的公因数只能是1。因为公因数也整除它们的差1。于是这11个数中还一定有两个互质的数;互质就是公因数只有1。

** 竞赛练习 A · 把数送到少量“标签”上

余数和奇偶,都是分类标签

自然数除以5,余数只能是0、1、2、3、4。若两个数余数同为r,可写成5u+r与5v+r,相减后得到5(u−v),所以差能被5整除。这是“同余数”有用的原因。

** 余数分类 · 差的整除

A07六个数,只有五种余数

任取6个不同的自然数,证明其中有两个数的差能被5整除。

提示:数可以很大,但余数的种类有限

对象是6个数;抽屉不是这些数的大小,而是它们除以5的余数。

完整解答

按除以5的余数分成5屉。6个数中至少有两个余数相同,设为5u+r与5v+r。差是5(u−v),能被5整除。

数彼此不同,保证找到的是两个不同数。只取1、2、3、4、5时,余数各不相同,任何非零差都不到5,所以5个不够保证。

** 合并余数 · 和或差

A08五个数,却不该分六屉

任取5个不同的自然数,证明存在两个数,它们的和或差能被6整除。“或”允许两件事同时成立。

提示:余数1与5为什么可以放在同一屉?

可以按余数组成四类:{0}、{3}、{1,5}、{2,4}。

完整解答

依余数归入上述4屉。5个数至少有两个同屉。

若两个余数相同,它们的差能被6整除;若同屉但余数不同,只可能是1与5,或2与4,余数之和是6,因此两数的和能被6整除。

余数0与3各自单独一屉,不会遗漏。四个数{1,2,3,6}的任意两数,和与差都不能被6整除,所以4个不能保证。

关键:一屉可以容纳几种余数,但必须证明“同屉”仍然能达到目标。

** 两个条件同时分类 · 坐标奇偶

A09五个整点的中点

平面上有5个不同的点,每个点的横坐标、纵坐标都是整数。证明有两个点的中点,其两个坐标也都是整数。

所用知识:点(x,y)记录横、纵坐标;两点中点的坐标,是两个横坐标的平均数和两个纵坐标的平均数。

提示:只看横坐标的奇偶够不够?

需要横坐标同奇偶、纵坐标也同奇偶。把两个标签一起记录。

完整解答

按“横坐标奇偶、纵坐标奇偶”分成4屉:偶偶、偶奇、奇偶、奇奇。5点至少两点同屉。

它们的横坐标之和是偶数,纵坐标之和也是偶数。所以中点坐标((x1+x2)/2,(y1+y2)/2)都是整数。

四种标签来自{偶,奇}×{偶,奇},这里把笛卡尔积与乘法原理用在了分类上。

** 竞赛练习 A · 区域与关系

抽屉也可以是区间或可能的数值

** 线段分区 · 边界要归属明确

A10长度为1的线段,放5个点

在长度为1的线段上任取5个不同的点,允许取端点。证明其中有两点距离不超过1/4。能把“不超过”改成“严格小于”吗?

提示:分成4段,分界点只算一次

把位置记成0到1之间的数。分为[0,1/4)、[1/4,1/2)、[1/2,3/4)、[3/4,1];方括号表示含端点,圆括号表示不含端点。

完整解答

按提示把线段分成4个不重叠的部分,每部分长度为1/4。每点恰好归入一部分。5点进4屉,至少两点在同一部分,它们距离≤1/4。

不能改成严格小于。取0、1/4、1/2、3/4、1这5点,任意两点距离至少1/4。

另一种检查:把5点从左到右排列,相邻点产生4个间隔。如果每个间隔都大于1/4,总长就大于1,与都在线段里矛盾。

** 平面分区 · 由同区到接近

A11边长为2的正方形,放5个点

在边长为2的正方形内或边界上任取5个不同的点。证明其中有两点的距离,不超过一个边长为1的小正方形的对角线长。

提示:画一条横线、一条竖线

把大正方形分成4个边长为1的小正方形。处于分界线上的点,要约定只归入一个格子。

完整解答
11 11 图示一种放法;结论对所有放法成立。
图4四个小区域容纳五个点,至少两点落在同一个小方格中。

以左下角为原点。横坐标小于1的归左边,其余归右边;纵坐标小于1的归下边,其余归上边。这样分界线和角点都只有一个归属。

5点进4屉,至少两点同屉。同一小方格里,两点的水平距离和竖直距离都不超过1,因此它们的距离不超过该方格的对角线。

若已经学过勾股定理,就能进一步写成:距离的平方≤1²+1²=2,距离≤√2。还没学过时,保留“小方格的对角线长”的说法即可。

** 缩小可能值 · 人际关系

A12总有人认识同样多的人

6个人聚会。两人之间要么互相认识,要么互不认识;不把自己算作认识的人。证明其中至少两人,在这6人中认识的人数相同。

提示:看起来有0到5共6个抽屉,够用吗?

“认识0人”和“认识5人”能否同时出现?注意“认识”是双方的关系。

完整解答

认识人数可能是0、1、2、3、4、5,但0和5不能同时出现:若有人认识其他所有5人,就不可能有人谁也不认识。

如果有0,则没人是5,最多5种人数;如果没有0,只有1到5,也最多5种人数。6个人进入至多5屉,至少两人同屉。

关键不只是“列出可能值”,还要检查这些值能否同时存在。这一步用到了条件之间的逻辑限制。

** 竞赛练习 A · 换一批对象来数

原来的对象不够好,就先构造新对象

** 部分和 · 连续一段

A13五个数中,找一段和是5的倍数

把任意5个自然数依次排成一行,允许数值重复。证明可以选出非空、连续的一段,使这段数的和能被5整除。

提示:怎样让两个对象的差变成“一段的和”?

把从开头加到第i项的和记为Si。还要加入S0=0,表示开头一个数都没加。

完整解答

把五个数记为a1、…、a5。构造六个有编号的部分和:

S0=0,S1=a1,S2=a1+a2,…,S5=a1+⋯+a5。

按除以5的余数分成5屉,六个部分和中必有两个余数相同。设其编号i<j,则Sj−Si能被5整除,而

Sj−Si = ai+1+ai+2+⋯+aj。

这恰好是连续的一段;i<j保证它不是空段。

例如2、4、1、3、6的部分和是0、2、6、7、10、16。2与7同余,所以中间的4+1=5是一段符合要求的和。

关键:对象从“5个原数”变为“6个部分和”。漏掉S₀,就可能失去数量优势。

** 把数分成链 · 整除关系

A14六个数中,必有一个整除另一个

从1到10中任意选6个不同的整数。证明其中有两个数,一个能整除另一个。

提示:从一个数出发,不断乘2

把1、2、4、8放在一起,它们两两比较时,较小者都能整除较大者。其他数怎样安排?

完整解答

把1到10分成5屉:

{1,2,4,8},{3,6},{5,10},{7},{9}。

它们不重叠,也没有漏数。6个选中的数至少有两个同屉。同屉的数都由同一个奇数反复乘2得到,所以较大数是较小数的整数倍。

只选6、7、8、9、10这5个数时,没有一个整除另一个:较小数乘2已经大于10。因此6确实是这个保证所需的最少数。

怎样发现这些屉?把每个数反复除以2,直到剩下奇数,按这个最后的奇数分类。这个奇数常叫它的“奇数部分”。

*** 竞赛练习 A · 可以留到以后

让分类与其他证明步骤合作

这里的难点是构造和组织理由。看懂完整证明就已经有收获,不要求第一次就独立想出。

*** 构造十进制整数 · 先分情况

A15只用0和1,也能凑出倍数

给定任意正整数m,证明总能找到一个正整数,它是m的倍数,而且十进制表示中只出现数字0和1。

提示:研究1、11、111、……的余数

取m个这样的数。先看有没有余数为0的;若都没有,只剩多少种余数?同余的两个数相减,会是什么样子?

完整解答

构造R1=1、R2=11、…、Rm,其中Ri有i个1。

如果某个Ri能被m整除,已经找到所需正整数。

否则,这m个数的余数只可能是1到m−1,只有m−1屉。于是有i<j,使Ri与Rj余数相同。因此Rj−Ri是m的正倍数。

这个差由j−i个1后接i个0组成,只有数字0和1。例如11111−111=11000。因此目标总能实现。

m=1时,第一个分支已经成功。这个证明保证存在,不保证找到的是最小的这种倍数,也不保证只用数字1就足够。

*** 给每列一个标签 · 染色矩形

A16三行七列中的同色矩形

在3行7列的方格点阵上,每个点涂成红色或蓝色。证明可以找到一个边平行于行、列的矩形,它的四个顶点颜色相同。

提示:每列3点,至少有2点同色

记录一列中某对同色点的“行号组合”和“颜色”。行号对有几种?再乘两种颜色,一共有几种标签?

完整解答

每列3个点、两种颜色,所以至少有一对同色点。每列选一对;若有多个选择,就按(1,2)、(1,3)、(2,3)的顺序选第一个同色对。这样每列只得到一个标签。

标签的行号对有3种,颜色有2种,共3×2=6种。7列进入6个标签屉,至少两列标签相同。

这两列在相同的两行上,都出现相同颜色的点。取这两行、两列的四个交点,就得到所需矩形。

这里用了两次抽屉思想:先保证每列有同色对,再保证两列得到同一个标签。

*** 抽屉加分类讨论 · 六人问题

A17三人彼此认识,或三人彼此不认识

6个人中,任意两人要么互相认识,要么互不认识。证明其中一定有3人两两认识,或者有3人两两不认识。

提示:固定一个人,看他与其余5人的关系

这5人分成“认识他”“不认识他”两屉,至少一屉有3人。再检查这3人之间的关系。

完整解答

固定一个人甲。其余5人分成两类,所以至少有3人同属一类,记为乙、丙、丁。

情况一:乙、丙、丁都认识甲。若乙、丙、丁中某两人认识,这两人加上甲就是3人两两认识;若没有任意两人认识,乙、丙、丁本身就是3人两两不认识。

情况二:乙、丙、丁都不认识甲。若他们中某两人不认识,这两人加上甲就是3人两两不认识;若不存在这样的两人,他们三人就两两认识。

两种情况都得到题目的结论,证明完成。

注意:“都认识甲”不等于“彼此认识”。必须补上第二层分类讨论,不能到抽屉那一步就停止。

*** 把子集当对象 · 相等的总和

A18十个数中,两组数的和相同

从1到99中任取10个不同的整数。证明可以选出两个非空的、没有共同元素的子集,使两组数的和相同。

提示:比较“子集的个数”和“总和的可能值”

每个数可选或不选,所以一共有210个子集。把空集的元素和约定为0。所有子集和都在0到990之间。

完整解答

10个元素各有选或不选两种选择,共有210=1024个子集,包括空集。每个子集的元素和都是0到990之间的整数,最多991种。

按总和分类,1024个子集进入最多991屉,因此有两个不同子集X、Y,总和相同。

如果它们有共同元素,把共同元素从两边都删去。剩下X∖Y与Y∖X,仍然总和相同,而且不相交。

它们都非空:X≠Y保证不会两边同时空;如果只剩一边空,另一边含正整数,其和就大于0,不可能相等。所以这两边就是需要的两组。

对象:1024个子集;抽屉:和的数值。最后还要处理“不相交”与“非空”,不能只停在两个子集不同。

本题据《Book of Proof》12.3节的子集和例题改编,并补充了不相交条件的论证。

* 5 · 容斥原理

把重复计算的部分,调整到恰好一次

两个集合有交集时,直接把它们的元素个数相加,会重复计算。容斥原理研究怎样用加减修正这些重复,让并集里的每个元素最后恰好被计算一次。它也叫包含排除原理。

5.1 两个集合:重复的部分减去一次

一个班里,会下棋的有18人,会游泳的有15人,两项都会的有6人。问:至少会一项的有多少人?

先算18+15时,这6名同学每人被算了两次。减去6,就让他们也只保留一次。因此至少会一项的有18+15−6=27人。

只会下棋12人18−6
两项都会6人原来算两次,减去一次
只会游泳9人15−6
图5把人群分成三个不重叠的部分:12+6+9=27,与容斥计算相同。

两个有限集合的容斥公式

|A∪B| = |A|+|B|−|A∩B|。

加上两类的个数,再减去它们的交集个数。若交集为空,减去的就是0,公式回到普通的加法原理。

这也是一个证明方法:任取一个元素,检查它在右边被算了几次。只在A或只在B里的算1次;同时在两者里的算2−1=1次;两者都不在的算0次。恰好和左边的并集相符。

加减的是个数,不是把集合当数字

|A∩B|是一个数,A∩B才是一个集合。写容斥公式时,两条表示元素个数的竖线不能随意省略。

5.2 “至少一个”“恰好一个”“一个也没有”

令U是全班,A是会下棋的人,B是会游泳的人。这三种问法对应三个不同的集合。

问法集合与逻辑怎样数
至少会一项A∪B;会下棋或会游泳|A|+|B|−|A∩B|
恰好会一项(A∖B)∪(B∖A);会一项且不会另一项|A|+|B|−2|A∩B|
两项都不会U∖(A∪B);不在A且不在B|U|−|A∪B|

为什么“恰好一项”要减两次交集?因为直接相加时,两项都会的人算了两次,而这次目标要求把他们完全排除,最后要计0次。上例中恰好会一项的有18+15−2×6=21人。

“两项都不会”中的“且”,来自德摩根律:不属于并集,就是两边都不属于。容斥管数量,集合与逻辑先帮助我们确定究竟要数谁。

** 5.3 三个集合:减过头的部分还要加回来

现在有A、B、C三个兴趣组。先加|A|+|B|+|C|,再减去三个两两交集,似乎就可以了。但是,一位同时参加三组的同学会怎样?

  1. 加三个组人数时,他被算了3次。
  2. 他在A∩B、A∩C、B∩C里各出现一次,所以随后又被减了3次。
  3. 现在他被计了3−3=0次,漏掉了。必须把三组交集加回来一次。
|A∪B∪C| = |A|+|B|+|C|
−|A∩B|−|A∩C|−|B∩C|
+|A∩B∩C|。

两两交集,包括同时属于第三组的人

“参加A和B的有10人”通常指|A∩B|=10,其中可以有人也参加C。若题目说“只参加A和B,不参加C”,才是另一种人数。不能把这两种数据直接互换。

只跟踪一名同学。选出他参加的组,看看容斥公式怎样计算这个人。

参加几组先加几次两两交集减几次三组交集加几次最后计几次
00000
11001
22101
33311

参加A、B、C:3−3+1=1次。

三项都参加的人,先被重复计算,再被全部减掉,最后加回来一次。

图6无论属于一个、两个还是三个集合,并集里的每个元素最后都恰好被计算一次。

表中已经列完一个元素的全部归属情况,因此这是三个集合容斥公式的证明,不只是对某一班人数的检查。

完整例题 · 1到100中,能被2、3、5至少一个整除的数

三类个数分别是50、33、20。两两同时整除,分别要求是6、10、15的倍数,个数为16、10、6。三者同时整除,要求是30的倍数,有3个。

50+33+20−16−10−6+3 = 74。

这里的“两两同时整除”包括三者都能整除的数。例如30出现在三类中,也出现在三个两两交集中,最后要加回来。三者都不能整除的数有100−74=26个。

用容斥解题的四步

  1. 把“或、且、都不”翻译成并、交、补,确定目标集合。
  2. 确认两两交集是否包含更多组共同的部分。
  3. 按重叠层数交替加减,必要时再从全集中减去。
  4. 检查结果:并集不小于任何一组,也不能超过全集;人数不能为负。

容斥练习 C · 先确定要数谁

同样的分组,不同的问题

* 两个集合 · 至少、恰好与都不

C01棋类社与绘画社

全班40人,24人参加棋类社,18人参加绘画社,9人两社都参加。分别求:至少参加一社、两社都不参加、恰好参加一社的人数。

提示:同一个交集,在三个问题里的作用不同

先求并集;再求补集;“恰好一个”要求把交集里的人完全排除。

完整解答

至少一社:24+18−9=33人。

两社都不参加:40−33=7人。

恰好一社:(24−9)+(18−9)=24人,也可算24+18−2×9。

最后核对:恰好一社24人、两社都参加9人、都不参加7人,共40人。

* 倍数筛选 · 交集看最小公倍数

C024的倍数或6的倍数

1到120中,有多少个整数能被4或6整除?又有多少个既不能被4整除,也不能被6整除?端点1和120都计入范围。

提示:能同时被4和6整除,是否必须是24的倍数?

12就能同时被4和6整除。共同部分是最小公倍数12的倍数。

完整解答

4的倍数有120÷4=30个;6的倍数有120÷6=20个;共同的12的倍数有120÷12=10个。

因此至少能被其中一个整除的有30+20−10=40个。两者都不能整除的有120−40=80个。

不能总把两个除数直接相乘来找交集。4×6=24不是这里的最小公倍数,会漏掉12、36等共同倍数。

** 三个集合 · 两两交集包含三重交集

C03三种兴趣组

全班50人。参加A、B、C组的分别有24、21、18人;同时参加A与B的10人,A与C的8人,B与C的7人;三组都参加的4人。两两交集人数都包含这4人。

求至少参加一组、都不参加、恰好参加两组、至少参加两组的人数。

提示:先分清“两两交集之和”与“恰好两组”

三组都参加的4人,在三个两两交集中各出现一次。求“恰好两组”时,要从每个两两交集中删去他们。

完整解答

至少一组:24+21+18−10−8−7+4=42人。都不参加:50−42=8人。

恰好两组:(10−4)+(8−4)+(7−4)=13人。至少两组:13+4=17人。

注意10+8+7=25不是“至少两组”的人数,因为三组都参加的人被算了3次,应只留1次,所以也可算25−2×4=17。

倒过来求:若不知道三组都参加的人数x,但知道至少参加一组的有42人,则42=24+21+18−10−8−7+x,解得x=4。容斥也能用来恢复缺失的数据。

** 密码计数 · 容斥与反面计数

C04三位密码里至少出现一个0

密码有3位,每位可用0到9,允许重复,也允许0开头,所以000也算一种。至少出现一个0的密码有多少种?恰好出现一个0呢?

提示:按“第几位是0”定义三个集合

指定一位是0,其余两位各有10种选择;指定两位是0,剩下一位有10种。也可以用全部密码减去完全没有0的。

完整解答

每个“指定位置是0”的集合有100种,两两交集各10种,三重交集只有000。因此至少一个0的有3×100−3×10+1=271种。

反面计数也得到10³−9³=1000−729=271。

恰好一个0:先选0的位置,有3种;另外两位只能用1到9,各9种。所以是3×9×9=243种。

若题目改成“三位正整数”,百位不能是0,样本范围就变了,不能直接使用这里的1000。

** 三枚骰子 · 先计数,再连到概率

C05至少一枚是6,为什么不能只算3×36?

三枚有编号的六面骰子,结果记作(a,b,c),共有6³=216种基本结果。至少一枚点数是6的结果有多少种?读完第6节后,再解释公平、独立条件下的概率。

提示:有两枚或三枚是6时,重复了多少次?

指定某一枚是6,有36种;指定两枚都是6,有6种;三枚全是6只有1种。

完整解答

三个位置各给一个集合。用容斥,符合要求的结果数是3×36−3×6+1=91。

也可以数反面:三枚都不是6有5³=125种,所以216−125=91。

公平、独立条件下,216种基本结果等可能,因此概率是91/216。

直接算3×36=108,会让恰有两枚是6的结果被算两次、三枚是6的结果被算三次。容斥正是在修正这种重复。

*** 四个集合 · 错排

C06四个人都拿错帽子

4个人各有一顶不同的帽子。把4顶帽子重新分给他们,每人一顶。有多少种分法使每个人都没拿到自己的帽子?这种所有位置都不对应原对象的排列,叫错排。

提示:先数“至少一个人拿对了”的分法

全部分法有4×3×2×1=24种。定义Ei为“第i个人拿到自己的帽子”,用四个集合的容斥求它们的并集,再取补集。

完整解答

固定某1人拿对,剩余3顶自由分配,有3×2×1=6种;有4个人可固定,因此单集合计数之和是4×6=24。

固定某2人拿对,剩余2顶有2种分法。人对共有{1,2}、{1,3}、{1,4}、{2,3}、{2,4}、{3,4}六种,因此两两交集计数之和是6×2=12。

固定某3人拿对,剩下一人也只能拿对,共1种;选这3人有4种,因此三重交集计数之和是4。四人全拿对只有1种。

至少1人拿对的分法有24−12+4−1=15种。每个人都拿错的有24−15=9种。

也可合写成24−24+12−4+1=9。这里减掉的是“至少一人拿对”,不能只减“恰好一人拿对”。

* 6 · 从“多少种”走到“多大可能”

两个骰子的和,不是等可能的

下面都讨论两枚六面骰子,各面分别标1到6。把它们记作甲骰、乙骰。假设每枚骰子都是公平的,且两枚骰子的结果相互独立:知道甲的点数,不改变乙各点数的概率。

先找等可能的基本结果

一次结果写成有序对(a,b):a是甲的点数,b是乙的点数。因此(1,6)和(6,1)是不同的基本结果,虽然它们的和相同。

D={1,2,3,4,5,6},Ω=D×D,|Ω|=6×6=36。

Ω读作“欧米伽”,表示所有基本结果组成的样本空间。在上面的公平、独立假设下,这36个有序对等可能,每个的概率都是1/36。

我们关心“和为7”,就把所有满足条件的有序对收集成一个集合:

E7={(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)}。

这样的子集E7叫事件。于是:

有限、等可能模型中的计数公式

P(E) = |E| / |Ω| = 符合要求的基本结果数 / 全部基本结果数。

这里P(E)表示事件E的概率,不是前面用P表示的某个命题。公式使用前,先检查基本结果是否等可能。

和为7的事件有6个元素,所以概率是6/36=1/6。和为2的事件只有(1,1),概率是1/36。

行是甲骰点数,列是乙骰点数;格中数字是两枚骰子的点数和。加框格符合当前条件。
甲\乙123456
1234567
2345678
3456789
45678910
567891011
6789101112

点数和等于7:6种 / 36种 = 1/6。

查看当前事件的全部有序对

(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)

图7每个格子等可能;一个和占几个格子,决定它出现的概率。

为什么7最多,2和12最少?

和为2只能是1+1。和为3可以是1+2或2+1。继续数,直到和为7时,甲骰的1到6都能各找到一个搭配。再增大点数和,可用搭配又逐渐减少。

12345654321 23456789101112 柱高:有序对个数下方:点数和
图8点数和2到12共有11种,但它们占据的基本结果数不同,不能各算成1/11。
点数和对应的基本结果数概率
2或12(分别计算)各1种各1/36
3或11(分别计算)各2种各2/36
4或10(分别计算)各3种各3/36
5或9(分别计算)各4种各4/36
6或8(分别计算)各5种各5/36
76种6/36=1/6

所有基本结果数相加是1+2+3+4+5+6+5+4+3+2+1=36,正好把样本空间分完。这是检查有没有漏数、重数的一个办法。

事件的“且、或、非”,就是集合的交、并、补

我们说的话对应的集合
事件A和B都发生A∩B
事件A或B发生,允许同时发生A∪B
事件A不发生Ω∖A

完整例题 · 至少一枚骰子是6

令A为“甲骰是6”,B为“乙骰是6”。A有6种基本结果,B也有6种。但(6,6)同时在A、B里,直接相加会算两次。

|A∪B|=6+6−1=11,概率=11/36。

也可以数反面:“两枚都不是6”有5×5=25种,因此“至少一枚是6”有36−25=11种。

这里的逻辑是:否定“甲是6或乙是6”,得到“甲不是6且乙不是6”。这正是德摩根律。

概率练习 B · 从计数写出理由

每题先说明:分母为什么这样数?

以下骰子均为公平的六面骰子,不同骰子和不同次投掷相互独立;用编号区分骰子。三枚骰子的基本结果记为有序三元组(a,b,c),共有6³=216种等可能结果。

* 固定点数和

B01和为6、7、8,谁更常见?

分别计算两枚骰子的点数和为6、7、8的概率。请列出和为6的全部有序对。

提示:固定甲骰,找乙骰

甲为1时,和为6要求乙为5;接着改变甲,直到乙超出1到6的范围。

完整解答

和为6:(1,5)、(2,4)、(3,3)、(4,2)、(5,1),共5种,概率5/36。

和为7有6种,概率1/6;和为8有(2,6)、(3,5)、(4,4)、(5,3)、(6,2),共5种,概率5/36。因此和为7最常见,6与8同样常见。

* 把不重叠的事件相加

B02点数和至少是10

两枚骰子的点数和至少是10的概率是多少?为什么可以把几类的个数直接相加?

提示:“至少10”包含哪些和值?

只有10、11、12。一个基本结果不可能同时具有两个不同的和。

完整解答

和为10有3种,和为11有2种,和为12有1种,共6种。概率6/36=1/6。

三类互不重叠,所以用加法原理直接相加。不必减交集。

* 奇偶分类 · 逻辑“且”与“或”

B03点数和是偶数

不用逐一列36格,计算两枚骰子的点数和是偶数的概率。

提示:两个数的奇偶怎样搭配?

和是偶数,当且仅当“两枚都是奇数”或“两枚都是偶数”。

完整解答

每枚骰子都有3个奇数面、3个偶数面。奇奇有3×3=9种,偶偶也有9种。两类不重叠,所以共18种,概率18/36=1/2。

“奇偶”与“偶奇”使和为奇数,也各有9种,可以用来核对剩余的18种。

** 两个条件的并集

B04和为偶数,或者至少一枚是6

掷两枚骰子,求“点数和是偶数,或者至少一枚是6”的概率。这里的“或”允许两者同时成立。

提示:交集里有哪些结果?

和是偶数且至少一枚是6时,另一枚必须是偶数。列举时不要把(6,6)写两次。

完整解答

和为偶数有18种;至少一枚是6有11种。交集是(6,2)、(6,4)、(6,6)、(2,6)、(4,6),共5种。

所以并集有18+11−5=24种,概率24/36=2/3。

也可以检查反面:“和为奇数,且两枚都不是6”。只看1到5,每枚有3个奇数、2个偶数,异奇偶共有3×2+2×3=12种;36−12=24。

** 条件概率入门 · 缩小范围

B05已知至少一枚是6

两枚骰子已经掷出。现在只告诉你:“至少一枚是6。”在这个条件下,点数和为7的概率是多少?如果告诉你的是“甲骰是6”,答案相同吗?

提示:新的信息排除了哪些格子?

只在满足已知条件的基本结果中计数;原来等可能的结果,在这个条件下仍然彼此等可能。

完整解答

在“至少一枚是6”的条件下,仍可能的基本结果有11种。其中和为7的只有(1,6)与(6,1),所以条件概率是2/11。

若已知“甲骰是6”,仍可能的只有(6,1)、…、(6,6)共6种;和为7只有(6,1),概率为1/6。

条件不同,留下来的样本范围不同。计算时要保留题目给出的那一句条件,不能把“至少一枚”换成“甲骰”,或反过来。

** 反面计数 · 三枚骰子的重复

B06至少两枚点数相同

掷3枚骰子,至少有两枚点数相同的概率是多少?三枚全相同也算符合要求。

提示:数“全部不同”更容易

第一枚有6种,第二枚要避开第一枚,第三枚要避开前面两个不同点数。

完整解答

全部基本结果有6×6×6=216种。全部不同有6×5×4=120种。

所以至少两枚相同有216−120=96种,概率96/216=4/9。取反面自动把“恰好两枚相同”和“三枚全相同”都包括进来,避免重复相加。

*** 无序组合不等可能 · 三枚骰子的和

B07和为9与和为10:看起来都是六种?

有人把3枚骰子的点数从小到大写出,发现和为9与和为10各有6种组合,于是说它们概率相同。这个结论对吗?算出两个概率。

提示:1、2、6与3、3、3能排出一样多的有序结果吗?

三个数都不同时有6种顺序;恰有两个相同时有3种;全相同时只有1种。

完整解答
和为9的无序组合有序结果数和为10的无序组合有序结果数
1,2,661,3,66
1,3,561,4,56
1,4,432,2,63
2,2,532,3,56
2,3,462,4,43
3,3,313,3,43

和为9共有25种有序结果,概率25/216;和为10共有27种,概率27/216=1/8。所以和为10更可能。

三个不同数有3×2×1=6种排序;恰有两个相同,选择那个不同数所在的位置,只有3种;全相同只剩1种。

原来的错误是:把大小不同的几组基本结果,当成了等可能的组。“有六种组合”本身并不能决定概率。

** 高概率与必然 · 回到抽屉原理

B08掷六次与掷七次

连续掷一枚骰子6次,至少有两次点数相同的概率是多少?再掷到7次,为什么不用枚举,也能保证有重复?

提示:先数6次全部不重复的顺序

第1次有6种,第2次有5种新点数,依次继续。7次时,把每次投掷按它的点数归类。

完整解答

6次共有66=46656种等可能的有序结果。全部不同有6×5×4×3×2×1=720种。

P(至少两次相同)=1−720/46656=319/324。

这个概率已经很高,但仍然小于1;例如1、2、3、4、5、6就没有重复。

掷7次时,7次投掷是对象,6种点数是抽屉。7个对象进6屉,必有两次点数相同。在这里的有限模型中,重复事件就是全部样本空间,概率为1。

保证7次有重复,只需要“每次结果是1到6之一”;即使骰子不公平,抽屉原理的结论也不变。

* 7 · 一一对应计数

换一批容易数的对象

如果每位同学恰好占一个座位,每个座位也恰好坐着一位同学,那么同学人数就等于座位数。要知道有多少位同学,可以改数座位。

一一对应计数就是把难数的对象与容易数的对象配对,并保证没有重复、没有遗漏。这里讨论的集合都是有限集合。

7.1 不是随便配上就可以

从集合X到集合Y建立一一对应,要检查三件事

  1. X里的每个对象,都有唯一确定的对应对象。
  2. X里的两个不同对象,不会对应到Y里的同一个对象。
  3. Y里的每个对象,都能被对应到。
X与Y一一对应 ⇒ |X|=|Y|。

满足这些条件的对应,也叫双射。一个方便的证明办法是:写出“怎样变过去”和“怎样变回来”,检查两次操作能把对象原样还原。

例 · 数偶数,可以改数编号

把1、2、…、20中的每个数n配到2n,就得到2、4、…、40。反过来,每个这样的偶数除以2,都回到唯一的编号。

所以2到40之间的偶数有20个。乘2和除以2互相还原,这保证了对应不重不漏。

有“对应规则”,不一定有“一一对应”

把−2、−1、1、2分别配到它们的平方,只得到1和4。不同输入会碰到同一个输出,所以不能据此说两个集合元素个数相等。

把1、2、3配到2、4、6,如果目标集合却写成{2,4,6,8},就漏掉了8,也不是一一对应。

这也接上了抽屉原理:把X里的对象送进Y里的“抽屉”,如果|X|>|Y|,就一定有两个不同对象落进同一屉,不可能建立一一对应。

7.2 把集合的选择,变成一串0和1

从U={甲、乙、丙、丁}中任意选一些人,可以按这个固定顺序记录:选了记1,没选记0。

选择的子集记录成四位串
∅0000
{甲、丙}1010
{乙、丁}0101
{甲、乙、丙、丁}1111

每个子集产生唯一的串;每个四位0/1串也能还原成唯一的子集。这里的串是记录,不是按通常写法去掉开头0的整数。

每一位都有2种选择,所以串有2×2×2×2=16种。由一一对应,U也恰好有16个子集,包括空集和U本身。

** 7.3 走路问题,可以变成选位置问题

从格点(0,0)走到(3,2),每步只能向右或向上走一格。每条路线一定有3步向右、2步向上,共5步。

把向右记作R,向上记作U。一条路线对应一个含3个R、2个U的五位串;按串依次走,又能还原那条路线。

0120123起点(0,0)终点(3,2)

UURRR:第1、2步向上,其余三步向右。

选出向上走的两个位置,就唯一确定整条路线。

图9路线、步伐串、向上步的位置集合,三者一一对应。

现在只需从第1到第5步中选两个位置放U。先后选位置有5×4种,但每一对位置被算了两次,例如先选1再选2与先选2再选1是同一对。因此路线有5×4÷2=10条。

把“从n个不同对象中选k个,不分先后”的选择数记作C(n,k)。于是这个答案也可以写成C(5,2)=10。这里先理解选择的对象,不要求背通用公式。

只能除以固定的重复次数

上面的除以2来自“每对位置都恰好算两次”。如果不同对象被重复的次数不同,就不能随意除以一个数。

例如两枚骰子忽略先后时,{1,2}对应(1,2)、(2,1)两种结果,但两个1只对应(1,1)一种。不能把36一律除以2。

原书相关:§12.2“单射与满射”,第228页;§14.1“等势集合”,第269页。具体页码链接见文末学习清单。

对应练习 D · 写出变过去与变回来

怎样确认没有重复、没有遗漏?

* 编号与数值

D01从编号数奇数

1到59之间有多少个正奇数?用n对应2n−1的方法,给出编号的范围,并写出反向规则。

提示:第一个和最后一个对应谁?

编号1对应1。令2n−1=59,求最后一个编号。

完整解答

编号n取1到30,2n−1恰好遍历1、3、…、59。反过来,奇数a对应编号(a+1)/2,恰好在1到30之间。

两个规则互相还原,因此这批正奇数与30个编号一一对应,共30个。

** 取补集 · 少选与多选

D02选两人与选四人一样多

从6名不同的学生中选代表,不区分职务。证明选2人的方案数等于选4人的方案数,并求出这个数。

提示:选中的人与没选中的人

把一个两人小组配到它的补集,得到一个四人小组。再取补集会怎样?

完整解答

每个两人小组S对应“其余四人”组成的集合U∖S。每个四人小组也能取补集,回到唯一的两人小组。因此这是一个双射。

选两人:先选第一人有6种,再选另一人有5种;每个不分先后的小组计了2次,所以有6×5÷2=15种。选四人也有15种。

这个对应不涉及选取的先后;如果两人分别担任正、副组长,就不能把交换两人的方案合并。

** 路线编码

D03向右四步、向上三步

从(0,0)走到(4,3),每步只能向右或向上走一格。共有多少条路线?为什么每组选出的“向上位置”只产生一条路线?

提示:七步中选三个位置

先后选3个不同位置有7×6×5种;每个位置集合有3×2×1种选择顺序。

完整解答

每条路线对应一个含4个R、3个U的七位串,也对应{1,…,7}中的一个三元素子集,记录U的位置。

选定这些位置后,另外4个位置只能填R,因此路线唯一。任何这样的三元素子集也都能生成一条合法路线。

所以路线数为C(7,3)=7×6×5÷(3×2×1)=35。每一组位置都被6种选择顺序重复计算,除以6才得到不分先后的选择数。

*** 隔板法 · 相同物品与不同盒子

D04五个相同的球分到三个盒子

5个完全相同的球分进编号为1、2、3的盒子。每盒至少1个,有多少种分法?若允许空盒,答案又是多少?

提示:用一排球和两块隔板记录数量

每盒非空时,在5个球之间的4个内部空隙中选2处放隔板。允许空盒时,要允许隔板在两端或相邻。

完整解答

每盒非空:写下5个球,在4个内部空隙中选择2个放隔板。例如“●|●●|●●”表示(1,2,2)。读出三段球数可得到唯一分法,反向也唯一。因此共有C(4,2)=4×3÷2=6种。

允许空盒:改用含5个球符号和2个隔板符号的七位串。例如“|●●|●●●”表示(0,2,3),“●●●●●||”表示(5,0,0)。从7个位置中选2个放隔板,其余放球,共C(7,2)=21种。

相邻隔板、开头隔板与末尾隔板分别记录相应的空段。按盒号读出三段长度,仍然可以双向还原。三个盒子有编号,所以(1,2,2)与(2,1,2)是不同分法。

* 8 · 双重计数

同一批记录,从两个角度数

双重计数是选定同一批对象,用两种方法分别计算总数,从而得到一个等式。关键是先说清楚:两边数的究竟是什么。

8.1 按行数与按列数

四名同学参加三个社团。下面一个勾表示“一名同学参加一个社团”这条记录。

同学社团A社团B社团C该生记录数
甲✓✓—2
乙—✓—1
丙✓—✓2
丁✓✓✓3
各社团记录数332总计8

按同学数:2+1+2+3=8。
按社团数:3+3+2=8。

图10每个勾恰好属于一行、一列,所以按行与按列统计的是同一批8条记录。

这里数的不是“不重复的学生人数”,而是“同学—社团”记录数。例如(甲,A)与(甲,B)是两条不同记录。共有4名学生,却有8条记录。

用集合语言,这些记录组成一个关系:

R={(同学,社团) : 这名同学参加这个社团}。

按第一项分类,就是按人统计;按第二项分类,就是按社团统计。两种分类都把R分成不重不漏的几部分,因此两边之和相等。

8.2 握手为什么要除以2?

完整例题 · 五个人,每两人握手一次

每个人都与其他4人握手。如果分别询问每个人“你握了几次手”,把报告相加得到5×4=20。

但每次握手有两名参与者,会产生两条报告。例如甲乙握手,甲报一次,乙也报一次。若实际握手次数是H,就有:

5×4=2H,所以H=10。

左右两边都在数“某人参加某次握手”的记录:左边按人分类,右边按握手事件分类。

即使只有部分人互相握手,这个关系仍然成立:

各人握手次数之和 = 2×实际握手次数。

如果用点表示人、线表示两人之间的一次握手,每条线有两个端点;从各点统计连出的线,每条线会贡献2次。这就是图论中握手引理的计数思想。

“双重计数”与“误算了两遍”不同

双重计数是把同一批对象用两种方法各数一次。握手例子选的对象是“参与记录”,每次握手确实对应两条不同记录,所以右边写2H。

如果把记录数20直接当作握手次数,就是混淆对象造成的重复计数错误。

** 8.3 先选小组,还是先选组长?

从6人中选出3人组成小组,并在组内选1名组长。小组里的其他两人没有职务区别。

先选小组:有C(6,3)=20种;每组有3种组长选择。因此共有20×3=60种。

先选组长:有6种;再从剩下5人中选2名组员,有C(5,2)=10种。因此共有6×10=60种。

C(6,3)×3 = 6×C(5,2)。

两边数的都是“一个三人小组,以及其中被指定的一名组长”。如果一边只数小组,另一边还区分组长,就不是在数同一批对象。

双重计数的检查顺序

  1. 先给每个被数的对象一个清楚的描述,必要时写成有序对。
  2. 用第一种分类方式计数,检查不重不漏。
  3. 用第二种分类方式计数,同样检查不重不漏。
  4. 两边数的是同一个集合,才能把结果写成等式。

原书相关:§3.10“组合证明”,第108页。目录没有单列“双重计数”专节;本节使用同一个集合的两种计数方式展开这一思路。

双计数练习 E · 说清两边在数什么

等式背后,是同一批对象

* 握手与参与记录

E01八个人互相握手

8个人,每两人恰好握手一次。共有多少次握手?请用双重计数说明除以2的理由。

提示:问每个人各握了几次

每个人报告7次,但一次握手会出现在两个人的报告中。

完整解答

按人统计参与记录,有8×7=56条。按握手统计,每次产生2条参与记录,若握手H次,就有2H条。因此2H=56,得到H=28。

除以2是因为每次握手恰好有两名参与者,而不是因为题目中出现了“两人”就机械地除以2。

* 人与社团的关系

E02每人参加两个社团

12名同学,每人恰好参加4个社团中的两个不同社团。若4个社团人数相同,每个社团有多少人?

提示:数报名记录,不是把12人平均分组

每个学生贡献两条“学生—社团”记录。

完整解答

按学生统计,共有12×2=24条报名记录。设每个社团有x人,按社团统计就是4x条。因此4x=24,x=6。

社团允许成员重叠,所以不能把12直接除以4。容斥会用于求不重复的人数;这里的目标是各社团的人数,数报名记录即可。

** 双重计数与奇偶

E03认识奇数个人的,能恰好有三人吗?

一群人中,“认识”是相互的,不把自己算进去。是否可能恰好有3个人认识奇数个人,而其余人认识的人数都是偶数?

提示:把每个人认识的人数全部加起来

每一对相互认识的人,为这个总和贡献多少?三个奇数加上若干偶数,又是什么奇偶性?

完整解答

不可能。每一对相互认识的人都贡献2,因此全部认识人数之和是偶数。

如果恰好3人的认识人数是奇数,其余都是偶数,这个总和就会是奇数,产生矛盾。

同样的理由说明:认识人数为奇数的人,人数一定是偶数。这把双重计数得到的等式,与奇偶性结合起来。

*** 用两种顺序证明一个公式

E04选k人,再指定一名组长

有n个人,选出k人组成小组并在组内指定1名组长,其中1≤k≤n。用双重计数证明:

k C(n,k) = n C(n−1,k−1)。
提示:不要先展开阶乘公式

两边都数“小组及其组长”。改变选人的顺序即可。

完整解答

先选k人小组,有C(n,k)种;再从组内选组长,有k种,共k C(n,k)种。

先选组长,有n种;再从剩下n−1人中选k−1名普通组员,有C(n−1,k−1)种,共n C(n−1,k−1)种。

每个“小组及其组长”在两种方法中都恰好出现一次,因此两个结果相等。

k=1时,组长选好后不再选其他人。C(n−1,0)=1,因为空集是唯一的零人选择。

* 9 · 把五种方法接起来

同样在计数,问的事情不同

问题类型需要知道什么得到什么
抽屉原理对象、抽屉、分类规则和容量无论怎样安排,某种情况一定存在
容斥原理各集合与它们交集的个数修正重复计数,算出并集里到底有多少个元素
一一对应计数两个有限集合,以及互相还原的对应规则两个集合一样大;可以改数容易数的那个集合
双重计数同一批对象,以及两种不重不漏的计数方法把两种计数结果写成等式
等可能模型中的概率计数样本空间、事件,以及等可能的理由符合条件的结果占全部结果的比例

“随机”不是使用抽屉原理的必要条件。七次骰子结果只要都在1到6之间,重复就无法避免。计算六次重复的具体概率时,却需要公平、独立的假设。

在本书的有限等可能模型中,“一定发生”表示事件等于整个样本空间,因此概率是1。概率很接近1,也不能删去那些仍然可能出现的失败结果。

遇到一道新题,先判断这些事情

  1. 问的是“一定存在”“有多少个”“两个数量为什么相等”,还是“发生的概率”?
  2. 基本对象究竟是什么:原来的数,部分和,还是全部选数方案?
  3. 分类后,同屉能保证题目想要的性质吗?
  4. 几类相加时,有没有重叠?目标是至少、恰好,还是一个也没有?
  5. 能把对象变成容易数的记录吗?能不能唯一地变回来?
  6. 能用另一种方法数同一批对象吗?等式两边的对象是否完全相同?
  7. 如果要求概率,自己数的基本结果真的等可能吗?

* 使用建议与速查

把题型练熟,不必一次做完

本补充读本不替换原教材。可以在完成集合与逻辑之后穿插使用,也可以在原来的两周核心课程之后另开专题。

学习单元建议用时选题与达标目标
一:原理与证明40—50分钟读第1—4节,做A01、A02、A05;会写“对象—抽屉—数量—结论”
二:设计抽屉 **40—50分钟A06、A07、A08;知道同一批数可按不同目标分类
三:隐藏的对象 **40—50分钟从A09—A14中挑2—3题;能解释构造为什么有用
四:一一对应 * / **40—50分钟读第7节,做D01,再选D02或D03;能写出正向与反向规则
五:双重计数 * / **40—50分钟读第8节,做E01、E02,再选E03;能说清等式两边数的同一批记录
六:容斥原理 * / **40—50分钟读第5节,先做C01、C02,再选C03或C04;逐个检查元素被计几次
七:骰子的概率 *40—50分钟读第6节,做B01—B03;先找等可能结果,再求比例
八:计数与概率进阶 **40—50分钟C05、B04、B06、B08择题讨论;会用交集、补集,能区别高概率与必然
挑战讨论 ***每题另留20—40分钟A15—A18、C06、B07、D04、E04择题讨论;先讲出思路,再整理完整证明

这些时间是授课安排建议,不是经过学生试教测出的完成时间。按学生写理由的速度调整;基础单元不依赖挑战题。

概念速查

概念记号或英文提醒
组合数学combinatorics计数是其中一部分,还研究离散结构的存在与安排等问题
抽屉原理pigeonhole principle比较对象数与避开目标的总容量
容斥原理inclusion–exclusion principle按交集层数交替加减,让并集内每个元素恰好计一次
一一对应、双射one-to-one correspondence;bijection每个对象有唯一对应,不碰撞、不遗漏;正反规则互相还原
双重计数double counting同一批对象,用两种方法各数一次,得到等式
** 组合数C(n,k);binomial coefficient从n个不同对象中选k个,不区分选择先后
*** 隔板法stars and bars用球与隔板的排列记录各个编号盒子的球数,先说明是否允许空盒
有限集合的基数|A|A里有多少个元素
划分partition不重不漏地分组;通常要求各组非空,空抽屉可先删去
存在、全称量词∃,∀“某个达到目标”的否定是“每个都没达到”
最少保证数m(r−1)+1m个抽屉中保证一屉至少r个;别忘了再少一个时的失败安排
** 向上取整⌈x⌉不小于x的最小整数,例如⌈7/3⌉=3
** 部分和Si从开头加到第i项;两个部分和的差是一段连续项的和
*** 错排derangement每个位置都不是原来对应的对象;可用容斥数“一个也没放对”
样本空间Ω;sample space全部基本结果组成的集合
事件E⊆Ω;event满足我们关心条件的那些基本结果
等可能equally likely基本结果概率相同;分成几类后,各类未必等可能
概率P(E);probability在有限、非空、等可能的模型中,等于|E|/|Ω|
** 条件概率conditional probability给定一个条件后,重新在符合条件的结果中计算
** 随机变量S:Ω→ℝ给每个随机结果赋一个数值的函数;例如骰子的点数和

检查一份解答时,看这些地方

  • 把0算进去了吗?整数端点都算进去了吗?
  • 分界点或重复条件会不会让对象归入两屉?有没有漏掉对象?
  • “至少一个”有没有被偷换成“每一个”或“事先指定的一个”?
  • “同屉”之后,还缺不缺一步才能到达题目结论?
  • “最少”题有没有给出再少一个仍然失败的安排?
  • 容斥中的两两交集是否包含三重交集?题目说的是“恰好”还是“至少”?
  • 一一对应有没有检查反向还原?除以一个数时,每个对象的重复次数都相同吗?
  • 双重计数的两边是否数同一个集合?有没有混淆人数、方案数与参与记录数?
  • 概率题有没有把不同大小的结果组误认为等可能?

学习索引 · 已补内容与后续线索

学习清单与原书页码

依据 Richard Hammack《Book of Proof》第三版(3.4版次)目录。以下均为书内印刷页码,列的是各节起始页;点击页码可跳到对应PDF页面。“相关章节”表示可作学习准备,不表示原书系统讲授该专题。

  1. * 分类计数、分步计数

    §3.1 列表:第65页;§3.2 乘法原理:第67页;§3.3 加法与减法原理:第74页。

  2. * 排列、组合与除法原理

    §3.4 阶乘与排列:第78页;§3.5 子集计数:第85页;§3.9 除法原理与抽屉原理:第104页。

  3. * / ** 一一对应计数

    已补入本读本第7节,练习D01—D04。原书相关章节:§12.2 单射与满射:第228页;§14.1 等势集合:第269页。目录未单列“一一对应计数”。

  4. * / ** 双重计数

    已补入本读本第8节,练习E01—E04。原书相关章节:§3.10 组合证明:第108页。目录未单列“双重计数”。

  5. ** 组合数、杨辉三角与二项式定理

    §3.5 子集计数:第85页;§3.6 帕斯卡三角形与二项式定理:第90页。

  6. * / ** 整除、最大公因数、余数与周期

    相关章节:§5.2 整数同余:第131页;§10.4 算术基本定理:第192页;§11.5 模n的整数:第218页。目录未单列“最大公因数”或“周期”专题。

  7. ** 不变量

    原书目录无对应专节;作为课外延伸专题。

  8. ** 染色法

    原书目录无对应专节;作为课外延伸专题。

  9. ** 极端原理与调整法

    原书目录无对应专节;相关证明方法:§10.3 最小反例法:第191页。

  10. ** 递推与数学归纳法

    §10.1 数学归纳法:第182页;§10.2 强归纳法:第187页;§10.5 斐波那契数:第193页。

  11. ** 图论入门

    原书目录无图论专节;关系语言的准备:§11.1 关系:第201页;§11.2 关系的性质:第205页。

  12. ** / *** 逆推与简单博弈

    原书目录无对应专节;作为课外延伸专题。

建议学习顺序

  1. 分类与分步计数 → 排列组合与除法原理 → 一一对应 → 双重计数。
  2. 组合数与杨辉三角 → 二项式定理 → 递推与数学归纳法。
  3. 整除与最大公因数 → 奇偶、余数与同余 → 周期 → 不变量与染色。
  4. 极端原理与调整法 → 图论入门 → 逆推与简单博弈。

完整竞赛课程的并行方向

  • 代数:比例、方程、恒等变形、因式分解与简单不等式;原书目录无对应的系统课程。
  • 初等数论:沿上方第6项另设专题;原书相关起始页为131、192、218。
  • 几何:角与三角形、面积割补、勾股定理与初步相似;原书目录无对应的系统课程。

复习主教材:3.3 反证法 · 继续主教材:4.1 关系 → · 返回补充章入口