Principle of Inclusion-Exclusion (PIE)容斥原理

When counting elements in the union of multiple sets, naive summation causes overcounting (elements in intersections counted multiple times). PIE corrects this by alternately adding and subtracting intersections to ensure each element is counted exactly once.

2.2 Formula Derivation

Two sets:

AB=A+BABAB∣=∣A∣+∣B∣−∣AB

Explanation: Add AA∣ and BB∣, but ABAB counted twice → subtract once.

Three sets:

ABC= A+B+CABACBC+ABCABC∣= ​∣A∣+∣B∣+∣C∣−∣AB∣−∣AC∣−∣BC∣+∣ABC∣​

Explanation:

  1. Add single sets
  2. Subtract pairwise intersections (each counted twice in step 1)
  3. Add back triple intersection (subtracted too many times in step 2)

General form for n sets:

i=1nAi=k=1n(1)k+1(1i1<<iknAi1Aik)i=1⋃nAi​​=k=1∑n​(−1)k+1(1≤i1​<⋯<ik​≤n∑​∣Ai1​​∩⋯∩Aik​​∣)

Equivalently (complement form, useful for “none of” problems):

i=1nAi=UAi+AiAj+(1)nA1Ani=1⋂nAi​​​=∣U∣−∑∣Ai​∣+∑∣Ai​∩Aj​∣−⋯+(−1)nA1​∩⋯∩An​∣

2.3 Combinatorial Justification

Consider an element xx belonging to exactly mm sets (1mn1≤mn). Its total contribution in PIE is:

(m1)(m2)+(m3)+(1)m+1(mm)=1(1m​)−(2m​)+(3m​)−⋯+(−1)m+1(mm​)=1

Proven by binomial theorem: (11)m=k=0m(1)k(mk)=0(1−1)m=∑k=0m​(−1)k(km​)=0.

Solved Examples

Example 1: Basic Two-Set Problem

In a class of 40 students, 25 like math, 20 like physics, and 10 like both. How many like at least one subject? How many like neither?

Solution:

  • Let MM = math lovers, PP = physics lovers
  • M=25, P=20, MP=10M∣=25, ∣P∣=20, ∣MP∣=10
  • At least one: MP=25+2010=35MP∣=25+20−10=35
  • Neither: 4035=540−35=5 students

Example 2: Three-Set Divisibility Problem

Among integers 1 to 1000, how many are divisible by at least one of 2, 3, or 5?

Solution:

  • A={x2x}, B={x3x}, C={x5x}A={x∣2∣x}, B={x∣3∣x}, C={x∣5∣x}
  • A=1000/2=500A∣=⌊1000/2⌋=500
  • B=1000/3=333B∣=⌊1000/3⌋=333
  • C=1000/5=200C∣=⌊1000/5⌋=200
  • Pairwise intersections (using LCM):
    • AB=1000/6=166AB∣=⌊1000/6⌋=166
    • AC=1000/10=100AC∣=⌊1000/10⌋=100
    • BC=1000/15=66BC∣=⌊1000/15⌋=66
  • Triple intersection: ABC=1000/30=33ABC∣=⌊1000/30⌋=33
  • Union size:ABC=500+333+20016610066+33=734ABC∣​=500+333+200−166−100−66+33=734​
  • Not divisible by any: 1000734=2661000−734=266

Example 3: Non-Square Non-Cube Counting

Count integers from 1 to 10000 that are neither perfect squares nor perfect cubes.

Solution:

  • Universal set U={1,,10000}, U=10000U={1,…,10000}, ∣U∣=10000
  • Squares: A=10000=100A∣=⌊10000​⌋=100
  • Cubes: B=100003=21B∣=⌊310000​⌋=21
  • Sixth powers (both square and cube): AB=100001/6=4AB∣=⌊100001/6⌋=4
  • Neither:AB=1000010021+4=9883AB∣=10000−100−21+4=9883

Example 4: Derangements (Classic PIE Application)

In how many ways can 5 letters be placed into 5 envelopes such that no letter goes into its correct envelope?

Solution:

  • Total permutations: 5!=1205!=120
  • Let AiAi​ = arrangements where letter ii is correctly placed
  • Target: A1A5A1​​∩⋯∩A5​​∣
  • By PIE:D5=5!(51)4!+(52)3!(53)2!+(54)1!(55)0!=120120+6020+51=44D5​​=5!−(15​)4!+(25​)3!−(35​)2!+(45​)1!−(55​)0!=120−120+60−20+5−1=44​
  • General derangement formula:Dn=n!k=0n(1)kk!n!eDn​=n!k=0∑nk!(−1)k​≈en!​

Example 5: Olympiad-Style Problem (CMO Level)

Select maximum number of integers from 1 to 2021 such that the difference between any two selected numbers is neither 4 nor 7.

Solution Sketch (mod 11 classification):

  • If ab=4ab=4 or 77, then ab+4(mod11)ab+4(mod11) or ab+7(mod11)ab+7(mod11)
  • Partition into 11 residue classes mod 11
  • Conflict graph forms an 11-cycle (since 4+70(mod11)4+7≡0(mod11))
  • Maximum independent set in 11-cycle has size 5
  • Class sizes: 183 or 184 elements each
  • Optimal selection: 5 classes with 184 elements → 5×184=9205×184=920
  • Answer: 920

IV. Problem-Solving Strategies

  1. Recognizing PIE scenarios:
    • “At least one” → compute A1AnA1​∪⋯∪An​∣
    • “None” → compute A1AnA1​​∩⋯∩An​​∣
    • “Exactly k” → at least kat least k+1∣at least k∣−∣at least k+1∣
  2. Intersection computation:
    • Divisibility: AiAj=N/lcm(di,dj)Ai​∩Aj​∣=⌊N/lcm(di​,dj​)⌋
    • Digit properties: Use Chinese Remainder Theorem for simultaneous congruences
  3. Common pitfalls:
    • ❌ Forgetting higher-order intersections
    • ❌ Sign errors (should alternate +++−+−⋯)
    • ❌ Confusing gcdgcd with lcmlcm in divisibility problems
  4. Optimization techniques:
    • Symmetry: Group identical terms when sets are symmetric
    • Recurrence: Derangements satisfy Dn=(n1)(Dn1+Dn2)Dn​=(n−1)(Dn−1​+Dn−2​)

容斥原理(Inclusion-Exclusion Principle)

2.1 基本思想

当计算多个集合的并集元素个数时,直接相加会导致重复计数(重叠部分被多次计算)。容斥原理通过”加-减-加-减…”的交替方式修正重复,确保每个元素恰好被计数一次

2.2 公式推导

两个集合

AB=A+BABAB∣=∣A∣+∣B∣−∣AB

解释:先加 AA∣ 和 BB∣,但 ABAB 被加了两次,需减去一次。

三个集合

ABC= A+B+CABACBC+ABCABC∣= ​∣A∣+∣B∣+∣C∣−∣AB∣−∣AC∣−∣BC∣+∣ABC∣​

解释

  1. 先加单个集合:A+B+CA∣+∣B∣+∣C
  2. 减去两两交集(每对交集被多加一次)
  3. 加回三重交集(在第2步中被多减了一次)

n个集合的一般形式

i=1nAi=k=1n(1)k+1(1i1<i2<<iknAi1Ai2Aik)i=1⋃nAi​​=k=1∑n​(−1)k+1(1≤i1​<i2​<⋯<ik​≤n∑​∣Ai1​​∩Ai2​​∩⋯∩Aik​​∣)

或等价地(补集形式,常用于”至少一个”问题):

i=1nAi=UAi+AiAjAiAjAk++(1)nA1Ani=1⋂nAi​​​=∣U∣−∑∣Ai​∣+∑∣Ai​∩Aj​∣−∑∣Ai​∩Aj​∩Ak​∣+⋯+(−1)nA1​∩⋯∩An​∣

2.3 容斥原理的组合解释

考虑一个元素 xx 属于 mm 个集合(1mn1≤mn),它在容斥公式中的总贡献为:

(m1)(m2)+(m3)+(1)m+1(mm)=1(1m​)−(2m​)+(3m​)−⋯+(−1)m+1(mm​)=1

由二项式定理 (11)m=0(1−1)m=0 可证,确保每个元素恰好被计数一次。


三、典型例题详解

例题1:基础两集合问题

某班40名学生,25人喜欢数学,20人喜欢物理,10人两科都喜欢。问:至少喜欢一科的学生有多少人?两科都不喜欢的有多少人?

  • MM = 喜欢数学的学生集合,PP = 喜欢物理的学生集合
  • M=25, P=20, MP=10M∣=25, ∣P∣=20, ∣MP∣=10
  • 至少喜欢一科:MP=25+2010=35MP∣=25+20−10=35
  • 两科都不喜欢:4035=540−35=5 人

例题2:三集合问题(经典竞赛题)

1~1000中,能被2、3、5整除的数各有多少?能被其中至少一个整除的数有多少个?

  • A={x2x}, B={x3x}, C={x5x}A={x∣2∣x}, B={x∣3∣x}, C={x∣5∣x}
  • A=1000/2=500A∣=⌊1000/2⌋=500
  • B=1000/3=333B∣=⌊1000/3⌋=333
  • C=1000/5=200C∣=⌊1000/5⌋=200
  • 两两交集:
    • AB=1000/6=166AB∣=⌊1000/6⌋=166 (LCM(2,3)=6)
    • AC=1000/10=100AC∣=⌊1000/10⌋=100 (LCM(2,5)=10)
    • BC=1000/15=66BC∣=⌊1000/15⌋=66 (LCM(3,5)=15)
  • 三重交集:ABC=1000/30=33ABC∣=⌊1000/30⌋=33 (LCM(2,3,5)=30)
  • 至少被一个整除:ABC=500+333+20016610066+33=734ABC∣​=500+333+200−166−100−66+33=734​
  • 都不被整除:1000734=2661000−734=266 个

例题3:非平方非立方数计数(高阶应用)

求1~10000中,既不是完全平方数也不是完全立方数的整数个数。

  • 全集 U={1,2,,10000}, U=10000U={1,2,…,10000}, ∣U∣=10000
  • AA = 平方数集合:A=10000=100A∣=⌊10000​⌋=100(因为 1002=100001002=10000)
  • BB = 立方数集合:B=100003=21B∣=⌊310000​⌋=21(因为 213=9261, 223=10648>10000213=9261, 223=10648>10000)
  • ABAB = 既是平方又是立方 = 六次方数:AB=100006=100001/6=4(因为 46=4096, 56=15625>10000)AB∣=⌊610000​⌋=⌊100001/6⌋=4(因为 46=4096, 56=15625>10000)
  • 既非平方也非立方:AB=UAB+AB=1000010021+4=9883AB∣=∣U∣−∣A∣−∣B∣+∣AB∣=10000−100−21+4=9883

例题4:错位排列(Derangement)— 容斥原理的经典应用

5封信装入5个信封,每封信都不装入对应编号的信封,有多少种装法?

  • 设全排列总数 5!=1205!=120
  • 定义 AiAi​ = 第 ii 封信装对的排列集合(i=1,2,3,4,5i=1,2,3,4,5)
  • 目标:求 A1A2A5A1​​∩A2​​∩⋯∩A5​​∣
  • 由容斥原理:D5=5!(51)4!+(52)3!(53)2!+(54)1!(55)0!=120524+106102+511=120120+6020+51=44D5​​=5!−(15​)4!+(25​)3!−(35​)2!+(45​)1!−(55​)0!=120−5⋅24+10⋅6−10⋅2+5⋅1−1=120−120+60−20+5−1=44​
  • 一般公式(错位排列数 DnDn​):Dn=n!k=0n(1)kk!=n!e+12Dn​=n!k=0∑nk!(−1)k​=⌊en!​+21​⌋

例题5:竞赛真题(CMO风格)

从1~2021中选取若干个数,使得任意两个数的差不等于4或7。最多能选多少个数?

(模11分类 + 容斥思想):

  • 观察:若 ab=4ab=4 或 77,则 ab+4(mod11)ab+4(mod11) 或 ab+7(mod11)ab+7(mod11)
  • 将1~2021按模11分为11类:R0,R1,,R10R0​,R1​,…,R10​
  • 每类中任意两数差为11的倍数,不会等于4或7
  • 但不同类之间可能冲突:若选 RiRi​,则不能选 Ri+4Ri+4​ 和 Ri+7Ri+7​(模11)
  • 构造图:11个顶点,边连接冲突的类(ii+4, ii+7ii+4, ii+7)
  • 该图是11-圈(因为4和7互为模11的补数:4+70(mod11)4+7≡0(mod11))
  • 问题转化为:在11-圈中选最大独立集 → 最多选5个不相邻顶点
  • 每类大小:2021/11=183⌊2021/11⌋=183,余数 2021mod11=82021mod11=8,前8类多1个元素
  • 最优选择:选5个类,优先选前8类中的5个
  • 最大数量:5×184=9205×184=920(若5个类都在前8类)或 4×184+183=9194×184+183=919
  • 答案:920

四、解题技巧与注意事项

  1. 识别容斥场景
    • “至少一个” → 用并集 A1AnA1​∪⋯∪An​∣
    • “都不” → 用补集交集 A1AnA1​​∩⋯∩An​​∣
    • “恰好k个” → 先算”至少k个”,再减去”至少k+1个”
  2. 交集计算技巧
    • 整除问题:AiAj=N/lcm(di,dj)Ai​∩Aj​∣=⌊N/lcm(di​,dj​)⌋
    • 数字特征:利用中国剩余定理求同时满足多个同余条件的数
  3. 避免常见错误
    • ❌ 忘记加回高阶交集(如三集合问题漏加 ABCABC∣)
    • ❌ 符号错误(应为 +++−+−⋯ 交替)
    • ❌ 交集计算错误(如误用 gcdgcd 代替 lcmlcm)
  4. 优化计算
    • 对称性:若集合对称,可合并同类项
    • 递推:错位排列可用 Dn=(n1)(Dn1+Dn2)Dn​=(n−1)(Dn−1​+Dn−2​)

===========

例题 1(基础)
题目:1..100 中有多少个整数能被 2 或 3 整除?
解答:设 A={可被2整除},B={可被3整除}A=\{ \text{可被2整除}\}, B=\{\text{可被3整除}\}A={可被2整除},B={可被3整除}。
A=100/2=50|A|=\lfloor100/2\rfloor=50∣A∣=⌊100/2⌋=50, B=100/3=33|B|=\lfloor100/3\rfloor=33∣B∣=⌊100/3⌋=33, AB=100/6=16|A\cap B|=\lfloor100/6\rfloor=16∣A∩B∣=⌊100/6⌋=16.
所以 AB=50+3316=67|A\cup B| = 50+33-16 = 67∣A∪B∣=50+33−16=67。
技巧:先求单条件,再减去重复计数。(计算每步按向下取整)

例题 2(常见三集合)
题目:1..100 中可被 2、3、5 中任一数整除的整数有多少?
解答:单项:50,33,20;两两:100/6=16, 100/10=10, 100/15=6\lfloor100/6\rfloor=16,\ \lfloor100/10\rfloor=10,\ \lfloor100/15\rfloor=6⌊100/6⌋=16, ⌊100/10⌋=10, ⌊100/15⌋=6。三重:100/30=3\lfloor100/30\rfloor=3⌊100/30⌋=3。
按三集合公式:50+33+20(16+10+6)+3=7450+33+20-(16+10+6)+3=7450+33+20−(16+10+6)+3=74。
补集(不被2,3,5任何一个整除)的数:10074=26100-74=26100−74=26。

例题 3(排斥原理计算“没有固定点”的排列 — 错排/Derangement)
题目:4 个不同物件的排列中,没有任何物件在原位的排列数(!4)是多少?
解答(容斥):!n=n!k=0n(1)kk!.!n = n! \sum_{k=0}^n \frac{(-1)^k}{k!}.!n=n!k=0∑n​k!(−1)k​.

代入 n=4n=4n=4:
!4=4!(111!+12!13!+14!)=24(0+1216+124)=9.!4 = 4!\left(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+\frac{1}{4!}\right) =24\left(0+\tfrac12-\tfrac16+\tfrac{1}{24}\right)=9.!4=4!(1−1!1​+2!1​−3!1​+4!1​)=24(0+21​−61​+241​)=9.
技巧:把“固定点”视为集合 AiA_iAi​(第 i 个元素处在原位),求没有固定点即全集减去任何固定点的并集。

例题 4(满射 / onto 函数计数)
题目:把 5 个不同元素放入 3 个标签不同的盒子,使每个盒子至少有一个元素,方法数?
解答(容斥):总函数数 353^535。减去至少有 1 个盒子空的情况,用 PIE:
答案 = 35(31)25+(32)15=243332+31=150.3^5 – \binom{3}{1}2^5 + \binom{3}{2}1^5 = 243 – 3\cdot32 + 3\cdot1 = 150.35−(13​)25+(23​)15=243−3⋅32+3⋅1=150.
技巧:把“某些盒子空”当作集合条件来排斥。

例题 5(人数-属性交叉)
题目:在某班有 40 人,20 人会 A,18 人会 B,15 人会 C;会 A 和 B 的有 8 人,会 A 和 C 的有 6 人,会 B 和 C 的有 5 人,三种都会的有 2 人。问至少会一种语言的人数。
解答:用三集合公式:20+18+15(8+6+5)+2=3620+18+15-(8+6+5)+2=3620+18+15−(8+6+5)+2=36。

例题 6(复杂:条件并列)
题目:一个班级的学生参加数学、物理、化学竞赛,给出部分两两三重交集数量(略),求至少参加两项的人数(由单项与交集数据求取)。
解法提示:设按属于集合的个数分层:至少两项 = x:属于至少两集合1\sum_{x: \text{属于至少两集合}}1∑x:属于至少两集合​1;用 AB+AC+BC3ABC|A\cap B|+|A\cap C|+|B\cap C| – 3|A\cap B\cap C|∣A∩B∣+∣A∩C∣+∣B∩C∣−3∣A∩B∩C∣(注意重复计数的校正)。详细步骤见下方示例演算(如果你需要我可以把一个具体数值的实例展开)。

例题 7(抽屉/鸽巢原理与容斥混合)
题目:若 10 个球放入 3 个盒子,至少有一个盒子包含至少 4 个球吗?(直接用鸽巢)
解答:此题主用鸽巢原理(非容斥),但在某些限制条件下可与容斥联合使用以排除不合法分配。提示:鸽巢原理常与集合计数组合出现。

例题 8(计数证明题 — 使用指示函数)
题目/任务:证明容斥一般公式(使用指示函数或归纳)。
解法要点:给定元素 xxx,设它属于 ttt 个集合。计算右侧在 xxx 上的贡献:k=1t(1)k1(tk)=1\sum_{k=1}^{t} (-1)^{k-1}\binom{t}{k}=1∑k=1t​(−1)k−1(kt​)=1。对不属于任何集合的元素贡献为 0,从而完成证明。

评论

Leave a Reply