这是哪类问题:这一讲专门解决“重复计数”这类问题:当我们要数的东西被分成了几堆,而这几堆之间又有重叠(有的东西同时属于好几堆)时,如果把每堆的数量直接加起来,重叠的部分就会被多算几遍。包含与排除(容斥原理)就是教我们怎样“先全加上、再把多算的减回去、漏减的补回来”,从而把真实数量算准。它适用于会两种语言的人、同时达到几个项目优秀的学生、能被几个数整除的数、含某个数字的数等一切“你中有我、我中有你”的计数场景。
关键词(大白话):
| 题型 | 怎么一眼认出 | 用什么方法 |
|---|---|---|
| 两集合求重叠g5-c09-p01 | 题里出现两类,给了各自人数和合起来的总数,问“两样都会/都有”的有多少。 | 用 $|A\cap B| = |A|+|B| - |A\cup B|$,两数相加再减总数。 |
| 补集计数(含数字/互质/整除)g5-c09-p06 | 问“不含某数字”“与某数互质”“不能被某些数整除”的个数,正面数很乱。 | 先用容斥数出“满足条件”(含该数字、不互质、能整除)的个数,再用全集减去。整除类配合 $\left[\frac{n}{d}\right]$。 |
| 三集合并集/全班总数g5-c09-p04 | 给了三个项目各自、两两、三者都达标的人数,问总人数。 | 三集合容斥:单个全加、两两都减、三者再加,别忘加上“一个都没达标”的人。 |
| 按“被算次数”加权列方程g5-c09-p08 | 把题目按“几个人解出/几样都符合”分类,每类被重复算的次数不同。 | 设各类数量为未知数,用“总个数”和“总人次(加权和)”列方程组求解。 |
| 交集最值g5-c09-p09 | 问“最少同时”“最多同时”有多少。 | 两交集最小 = 两数之和 - 全集;多交集最大 = 其中最小的那个集合。 |
| 设元 + 比例/逻辑条件g5-c09-p14 | 岗位、竞赛分类问题,给的是倍数、相差、一半等关系而非直接数字。 | 用韦恩图把每个区域设成未知数,把每句话翻译成一个方程,联立求解。 |
| 周期操作(开关/向后转/踩台阶)中的容斥g5-c09-p07 | 对一排对象按 $4$ 的倍数、$5$ 的倍数……反复操作,问“恰好被操作几次/还亮着/什么颜色”。 | 先用最小公倍数和 $\left[\frac{n}{d}\right]$ 数出各种倍数的个数,再用容斥求“至少一次”“恰好两次”等,按奇偶判断最终状态。 |
| 压极值(最少及格人数)g5-c09-p13 | 给各题答对人数,问“最少有多少人及格/满足条件”。 | 算出总答对题次,再尽量让会的人多答(满分)来压低人数,逐层扣除。 |
🛒 生活里的同类问题:
🔄 变形我还认得吗:
🚀 它是后面什么的前置基础: