组合数学_第3章_容斥原理与鸽巢原理

文章目录

  • 第3章 容斥原理与鸽巢原理
    • 3.1 De Morgan定理
    • 3.2 容斥定理
    • 3.3 容斥原理举例
    • 3.4 容斥原理的应用
    • 3.5 n对夫妻问题
    • 3.6 错排问题
    • 3.7 棋盘多项式和有禁区的排列
    • 3.8 有限制的排列
    • 3.9 鸽巢原理
      • 3.9.1 整除问题
      • 3.9.2 图形问题
      • 3.9.3 连续累加问题

第3章 容斥原理与鸽巢原理

3.1 De Morgan定理

德摩根(De Morgan)定理:若 A A A B B B是集合 U U U的子集,则

  1. A ∪ B ‾ = A ‾ ∩ B ‾ \overline{A\cup B}=\overline{A} \cap \overline{B} AB=AB

  2. A ∩ B ‾ = A ‾ ∪ B ‾ \overline{A\cap B}=\overline{A} \cup \overline{B} AB=AB

德摩根定理的推广:

  1. A 1 ∪ A 2 ∪ ⋯ ∪ A n ‾ = A 1 ‾ ∩ A 2 ‾ ∩ ⋯ ∩ A n ‾ \overline{A_1 \cup A_2 \cup \cdots \cup A_n }=\overline{A_1} \cap \overline{A_2} \cap \cdots \cap \overline{A_n} A1A2An=A1A2An
  2. A 1 ∩ A 2 ∩ ⋯ ∩ A n ‾ = A 1 ‾ ∪ A 2 ‾ ∪ ⋯ ∪ A n ‾ \overline{A_1 \cap A_2 \cap \cdots \cap A_n }=\overline{A_1} \cup \overline{A_2} \cup \cdots \cup \overline{A_n} A1A2An=A1A2An

3.2 容斥定理

∣ A ∪ B ∪ C ∣ = ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ∣ A ∩ B ∣ − ∣ A ∩ C ∣ − ∣ B ∩ C ∣ + ∣ A ∩ B ∩ C ∣ |A \cup B \cup C| =|A|+|B|+|C|-|A \cap B| - |A \cap C| - |B \cap C|+|A \cap B \cap C| ABC=A+B+CABACBC+ABC

组合数学_第3章_容斥原理与鸽巢原理_第1张图片

容斥原理的推广:

A 1 , A 2 , . . . A n A_1,A_2,...A_n A1,A2,...An n n n个有限的集合,则
∣ A 1 ∪ A 2 ∪ … ∪ A n ∣ = ∑ i = 1 n ∣ A i ∣ − ∑ i = 1 n ∑ j > i ∣ A i ∩ A j ∣ + ∑ i = 1 n ∑ j > i ∑ k > j ∣ A i ∩ A j ∩ A k ∣ − … + ( − 1 ) n − 1 ∣ A 1 ∩ A 2 ∩ … ∩ A n ∣ |A_1 \cup A_2 \cup \ldots \cup A_n| =\sum_{i=1}^n\left|A_i\right| -\sum_{i=1}^n \sum_{j>i}\left|A_i \cap A_j\right| +\sum_{\mathrm{i}=1}^{\mathrm{n}} \sum_{\mathrm{j}>\mathrm{i}} \sum_{\mathrm{k}>\mathrm{j}}\left|\mathrm{A}_{\mathrm{i}} \cap A_j \cap A_k\right|-\ldots +(-1)^{n-1}\left|A_1 \cap A_2 \cap \ldots \cap A_n\right| A1A2An=i=1nAii=1nj>iAiAj+i=1nj>ik>jAiAjAk+(1)n1A1A2An

∣ A 1 ‾ ∩ A 2 ‾ ∩ … ∩ A n ‾ ∣ = N − ∣ A 1 ∪ A 2 ∪ … ∪ A n ∣ |\overline{A_1} \cap \overline{A_2} \cap \ldots \cap \overline{A_n}|=N-|A_1 \cup A_2 \cup \ldots \cup A_n| A1A2An=NA1A2An

3.3 容斥原理举例

例题:求从1到600的整数中能被2、3、5除尽的数的个数和不能被2、3、5除尽的个数。

:令A、B、C分别为从1到600的整数中被2、3、5除尽的数的集合。

∣ A ∣ = ⌊ 600 2 ⌋ = 300 , ∣ B ∣ = ⌊ 600 3 ⌋ = 200 , ∣ C ∣ = ⌊ 600 5 ⌋ = 120 |A|=\lfloor\frac{600}{2}\rfloor=300,|B|=\lfloor\frac{600}{3}\rfloor=200,|C|=\lfloor\frac{600}{5}\rfloor=120 A=2600=300,B=3600=200,C=5600=120

∣ A ∩ B ∣ = ⌊ 600 2 × 3 ⌋ = 100 , ∣ A ∩ C ∣ = ⌊ 600 2 × 5 ⌋ = 60 , ∣ B ∩ C ∣ = ⌊ 600 3 × 5 ⌋ = 40 |A \cap B|=\lfloor\frac{600}{2\times3}\rfloor=100,|A \cap C|=\lfloor\frac{600}{2\times5}\rfloor=60,|B \cap C|=\lfloor\frac{600}{3\times5}\rfloor=40 AB=2×3600=100,AC=2×5600=60,BC=3×5600=40

∣ A ∩ B ∩ C ∣ = ⌊ 600 2 × 3 × 5 ⌋ = 20 |A \cap B \cap C|=\lfloor\frac{600}{2\times3\times5}\rfloor=20 ABC=2×3×5600=20

被2、3,、5除尽的数的个数为
∣ A ∪ B ∪ C ∣ = ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ( ∣ A ∩ B ∣ − ∣ A ∩ C ∣ − ∣ B ∩ C ∣ ) + ∣ A ∩ B ∩ C ∣ = 300 + 200 + 120 − ( 100 + 60 + 45 ) − 20 = 400 |A \cup B \cup C| =|A|+|B|+|C| - (|A \cap B| - |A \cap C| - |B \cap C|)+|A \cap B \cap C| =300+200+120-(100+60+45)-20=400 ABC=A+B+C(ABACBC)+ABC=300+200+120(100+60+45)20=400
不能被2、3,、5除尽的数的个数为
∣ A ‾ ∩ B ‾ ∩ C ‾ ∣ = N − ∣ A ∪ B ∪ C ∣ = 600 − 400 = 200 |\overline{A} \cap \overline{B} \cap \overline{C}|=N-|A \cup B \cup C|=600-400=200 ABC=NABC=600400=200


例题:求由a、b、c、d四个字母构成的 n n n位符号串中,a、b、c(每个)至少出现一次的符号串数目。

:令A、B、C分别为 n n n位符号串中不出现a、b、c符号的集合。由于 n n n位符号串中每一位都可取a、b、c、d四种符号中的一个,故不允许出现a的 n n n位符号串的个数应是 3 n 3^n 3n,即 ∣ A ∣ = ∣ B ∣ = ∣ C ∣ = 3 n , ∣ A ∩ B ∣ = ∣ A ∩ C ∣ = ∣ B ∩ C ∣ = 2 n , ∣ A ∩ B ∩ C ∣ = 1 |A|=|B|=|C|=3^n,|A \cap B|=|A \cap C|=|B \cap C|=2^n,|A \cap B \cap C|=1 A=B=C=3n,AB=AC=BC=2n,ABC=1,a、b、c每位都至少出现一次表示为 ∣ A ‾ ∩ B ‾ ∩ C ‾ ∣ |\overline{A} \cap \overline{B} \cap \overline{C}| ABC
∣ A ‾ ∩ B ‾ ∩ C ‾ ∣ = 4 n − ( ∣ A ∣ + ∣ B ∣ + ∣ C ∣ ) + ( ∣ A ∩ B ∣ + ∣ A ∩ C ∣ + ∣ C ∩ B ∣ ) − ∣ A ∩ B ∩ C ∣ = 4 n − 3 ⋅ 3 n + 3 ⋅ 2 n − 1 |\overline{A} \cap \overline{B} \cap \overline{C}| = 4^n-(|A|+|B|+|C|)+(|A \cap B|+|A \cap C|+|C \cap B|)-|A \cap B \cap C| = 4^n-3 \cdot 3^n+3 \cdot 2^n-1 ABC=4n(A+B+C)+(AB+AC+CB)ABC=4n33n+32n1

3.4 容斥原理的应用

例题:对问题 x 1 + x 2 + x 3 = 15 , 0 ≤ x 1 ≤ 5 , 0 ≤ x 2 ≤ 6 , 0 ≤ x 3 ≤ 7 x_1+x_2+x_3=15,0\le x_1\le5,0\le x_2\le6,0\le x_3\le7 x1+x2+x3=15,0x15,0x26,0x37,求整数解的数目。

:如果没有 0 ≤ x 1 ≤ 5 , 0 ≤ x 2 ≤ 6 , 0 ≤ x 3 ≤ 7 0\le x_1\le5,0\le x_2\le6,0\le x_3\le7 0x15,0x26,0x37,记所求的整数解的集合为 S S S ∣ S ∣ = C 3 + 15 − 1 15 = C 17 2 = 136 |S|=C_{3+15-1}^{15}=C_{17}^{2}=136 S=C3+15115=C172=136

分别设 S S S中满足 x 1 ≥ 6 x_1 \ge 6 x16的子集为 A 1 A_1 A1,满足 x 2 ≥ 7 x_2 \ge 7 x27的子集为 A 2 A_2 A2,满足 x 3 ≥ 8 x_3 \ge 8 x38的子集为 A 3 A_3 A3,问题转化为求 ∣ A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ ∣ |\overline{A_1} \cap \overline{A_2} \cap \overline{A_3}| A1A2A3

对于 A 1 A_1 A1,相当于 x 1 + x 2 + x 3 = 15 − 6 x_1+x_2+x_3=15-6 x1+x2+x3=156,即 x 1 + x 2 + x 3 = 9 x_1+x_2+x_3=9 x1+x2+x3=9,求其非负整数解得 ∣ A 1 ∣ = C 3 + 9 − 1 9 = 55 |A_1|=C_{3+9-1}^{9}=55 A1=C3+919=55

同理得 ∣ A 2 ∣ = C 3 + 8 − 1 8 = 45 , ∣ A 3 ∣ = C 3 + 7 − 1 7 = 36 |A_2|=C_{3+8-1}^{8}=45,|A_3|=C_{3+7-1}^{7}=36 A2=C3+818=45,A3=C3+717=36

∣ A 1 ∩ A 2 ∣ = C 3 + ( 15 − 6 − 7 ) − 1 15 − 6 − 7 = C 4 2 = 6 |A_1 \cap A_2|=C_{3+(15-6-7)-1}^{15-6-7}=C_{4}^{2}=6 A1A2=C3+(1567)11567=C42=6

∣ A 1 ∩ A 3 ∣ = C 3 + ( 15 − 6 − 8 ) − 1 15 − 6 − 8 = C 3 2 = 3 |A_1 \cap A_3|=C_{3+(15-6-8)-1}^{15-6-8}=C_{3}^{2}=3 A1A3=C3+(1568)11568=C32=3

∣ A 1 ∩ A 2 ∣ = C 3 + ( 15 − 7 − 8 ) − 1 15 − 7 − 8 = C 2 2 = 1 |A_1 \cap A_2|=C_{3+(15-7-8)-1}^{15-7-8}=C_{2}^{2}=1 A1A2=C3+(1578)11578=C22=1

∣ A 1 ∩ A 2 ∩ A 3 ∣ = 0 |A_1 \cap A_2 \cap A_3|=0 A1A2A3=0

∣ A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ ∣ = 139 − ( 55 + 45 + 36 ) + ( 6 + 3 + 1 ) − 0 = 10 |\overline{A_1} \cap \overline{A_2} \cap \overline{A_3}|=139-(55+45+36)+(6+3+1)-0=10 A1A2A3=139(55+45+36)+(6+3+1)0=10


例题:求从(0,0)点到(10,5)点得路径中不通过AB,CD,EF,GH的路径数,已知各点坐标为 A ( 2 , 2 ) , B ( 3 , 2 ) , C ( 4 , 2 ) , D ( 5 , 2 ) , E ( 6 , 2 ) , F ( 6 , 3 ) , G ( 7 , 2 ) , H ( 7 , 3 ) A(2,2),B(3,2),C(4,2),D(5,2),E(6,2),F(6,3),G(7,2),H(7,3) A(2,2),B(3,2),C(4,2),D(5,2),E(6,2),F(6,3),G(7,2),H(7,3)

组合数学_第3章_容斥原理与鸽巢原理_第2张图片

:从(0,0)点到(10,5)点的所有路径数为 C 10 + 5 5 = 3003 C_{10+5}^{5}=3003 C10+55=3003(第一章的简单格路问题)

A 1 A_1 A1表示从(0,0)到(10,5)其中过AB的路径,

A 2 A_2 A2表示从(0,0)到(10,5)其中过CD的路径,

A 3 A_3 A3表示从(0,0)到(10,5)其中过EF的路径,

A 4 A_4 A4表示从(0,0)到(10,5)其中过GH的路径,

因此有
∣ A 1 ∣ = ( 4 2 ) ( ( 10 − 3 ) + ( 5 − 2 ) 5 − 2 ) = ( 4 2 ) ( 10 3 ) = 6 × 120 = 720 |A_1| =(\begin{array}{c} 4 \\ 2 \end{array}) (\begin{array}{c}(10-3)+(5-2) \\ 5-2 \end{array}) =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 10 \\ 3 \end{array}) =6 \times 120 =720 A1=(42)((103)+(52)52)=(42)(103)=6×120=720
同理
∣ A 2 ∣ = ( 6 2 ) ( 8 3 ) = 15 × 56 = 840 |A_2| =(\begin{array}{l} 6 \\ 2\end{array}) (\begin{array}{l} 8 \\ 3 \end{array}) =15 \times 56 =840 A2=(62)(83)=15×56=840

∣ A 3 ∣ = ( 8 2 ) ( 6 2 ) = 28 × 15 = 420 |A_3| =(\begin{array}{l} 8 \\ 2\end{array}) (\begin{array}{l} 6 \\ 2 \end{array}) =28 \times 15 =420 A3=(82)(62)=28×15=420

∣ A 4 ∣ = ( 9 2 ) ( 5 2 ) = 36 × 10 = 360 |A_4| =(\begin{array}{l} 9 \\ 2\end{array}) (\begin{array}{l} 5 \\ 2 \end{array}) =36 \times 10 =360 A4=(92)(52)=36×10=360

∣ A 1 ∩ A 2 ∣ = ( 4 2 ) ( 8 2 ) = 6 × 56 = 336 |A_1 \cap A_2| =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 8 \\ 2 \end{array}) =6 \times 56 =336 A1A2=(42)(82)=6×56=336

∣ A 1 ∩ A 3 ∣ = ( 4 2 ) ( 6 2 ) = 6 × 15 = 90 |A_1 \cap A_3| =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 6 \\ 2 \end{array}) =6 \times 15 =90 A1A3=(42)(62)=6×15=90

∣ A 1 ∩ A 4 ∣ = ( 4 2 ) ( 5 2 ) = 6 × 10 = 60 |A_1 \cap A_4| =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 5 \\ 2 \end{array}) =6 \times 10 =60 A1A4=(42)(52)=6×10=60

∣ A 2 ∩ A 3 ∣ = ( 6 2 ) ( 6 2 ) = 15 × 15 = 225 |A_2 \cap A_3| =(\begin{array}{l} 6 \\ 2\end{array}) (\begin{array}{l} 6 \\ 2 \end{array}) =15 \times 15 =225 A2A3=(62)(62)=15×15=225

∣ A 2 ∩ A 4 ∣ = ( 6 2 ) ( 5 2 ) = 15 × 10 = 150 |A_2 \cap A_4| =(\begin{array}{l} 6 \\ 2\end{array}) (\begin{array}{l} 5 \\ 2 \end{array}) =15 \times 10 =150 A2A4=(62)(52)=15×10=150

∣ A 3 ∩ A 4 ∣ = 0 |A_3 \cap A_4|=0 A3A4=0

∣ A 1 ∩ A 2 ∩ A 3 ∣ = ( 4 2 ) ( 6 2 ) = 6 × 15 = 90 |A_1 \cap A_2 \cap A_3| =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 6 \\ 2 \end{array}) =6 \times 15 =90 A1A2A3=(42)(62)=6×15=90

∣ A 1 ∩ A 2 ∩ A 4 ∣ = ( 4 2 ) ( 5 2 ) = 6 × 10 = 60 |A_1 \cap A_2 \cap A_4| =(\begin{array}{l} 4 \\ 2\end{array}) (\begin{array}{l} 5 \\ 2 \end{array}) =6 \times 10 =60 A1A2A4=(42)(52)=6×10=60

∣ A 2 ∩ A 3 ∩ A 4 ∣ = 0 |A_2 \cap A_3 \cap A_4|=0 A2A3A4=0

∣ A 1 ∩ A 2 ∩ A 3 ∩ A 4 ∣ = 0 |A_1 \cap A_2 \cap A_3 \cap A_4|=0 A1A2A3A4=0

所以
∣ A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ ∩ A 4 ‾ ∣ = 3003 − ( 720 + 840 + 420 + 360 ) + ( 336 + 90 + 60 + 225 + 150 ) − ( 90 + 60 ) = 3003 − 2340 + 861 − 150 = 1374 |\overline{A_1} \cap \overline{A_2} \cap \overline{A_3} \cap \overline{A_4}|=3003-(720+840+420+360)+(336+90+60+225+150)-(90+60)=3003-2340+861-150=1374 A1A2A3A4=3003(720+840+420+360)+(336+90+60+225+150)(90+60)=30032340+861150=1374

3.5 n对夫妻问题

例题 n n n对夫妻围圆桌而坐,每个男人都不和他的妻子相邻,有多少种方案?

n n n对夫妻有 2 n 2n 2n个人, 2 n 2n 2n个人围圆桌而坐的方案数为 ( 2 n − 1 ) ! (2n-1)! (2n1)!

A i A_i Ai表示第 i i i对夫妻相邻而坐的集合, i = 1 , 2 , . . . , n i=1,2,...,n i=1,2,...,n,则问题转化为求
∣ A 1 ∩ A 2 ∩ … ∩ A n ∣ = N − ∑ i = 1 n ∣ A i ∣ + ∑ i = 1 n ∑ j > i ∣ A i ∩ A j ∣ − … + ( − 1 ) n ∣ A 1 ∩ A 2 ∩ … ∩ A n ∣ |A_1 \cap A_2 \cap \ldots \cap A_n| =N-\sum_{i=1}^n\left|A_i\right| +\sum_{i=1}^n \sum_{j>i}\left|A_i \cap A_j\right| -\ldots +(-1)^{n}\left|A_1 \cap A_2 \cap \ldots \cap A_n\right| A1A2An=Ni=1nAi+i=1nj>iAiAj+(1)nA1A2An
∣ A i ∣ |A_i| Ai相当于讲第 i i i对夫妻作为一个对象围圆桌,同一对夫妻之间可以换位,故
∣ A i ∣ = 2 Q 2 n − 1 2 n − 1 = 2 ( 2 n − 2 ) ! |A_i|=2Q_{2n-1}^{2n-1}=2(2n-2)! Ai=2Q2n12n1=2(2n2)!

∣ A i ∩ A j ∣ = 2 2 Q 2 n − 2 2 n − 2 = 2 2 ( 2 n − 3 ) ! |A_i \cap A_j|=2^2Q_{2n-2}^{2n-2}=2^2(2n-3)! AiAj=22Q2n22n2=22(2n3)!

∣ A i ∩ A j ∩ A k ∣ = 2 3 Q 2 n − 3 2 n − 3 = 2 2 ( 2 n − 4 ) ! |A_i \cap A_j \cap A_k|=2^3Q_{2n-3}^{2n-3}=2^2(2n-4)! AiAjAk=23Q2n32n3=22(2n4)!

⋯ ⋯ \cdots \cdots ⋯⋯

∣ A 1 ∩ A 2 ∩ ⋯ A n ∣ = 2 n Q 2 n − n 2 n − n = 2 n ( n − 1 ) ! |A_1 \cap A_2 \cap \cdots A_n|=2^nQ_{2n-n}^{2n-n}=2^n(n-1)! A1A2An=2nQ2nn2nn=2n(n1)!

故夫妻不相邻方案数为
M = ( 2 n − 1 ) ! − 2 ( n 1 ) ( 2 n − 2 ) ! + 2 2 ( n 2 ) ( 2 n − 3 ) ! − ⋯ + ( − 1 ) n 2 n ( n n ) ( n − 1 ) ! = ∑ h = 0 n ( − 1 ) h 2 h ( n h ) ( 2 n − h − 1 ) ! M=(2n-1)! -2(\begin{array}{l} n \\ 1 \end{array})(2n-2)! +2^2(\begin{array}{l} n \\ 2 \end{array})(2n-3)! -\cdots +(-1)^n 2^n(\begin{array}{l} n \\ n \end{array})(n-1)! \\ =\sum_{h=0}^n(-1)^h 2^h\left(\begin{array}{l} n \\ h \end{array}\right)(2n-h-1)! M=(2n1)!2(n1)(2n2)!+22(n2)(2n3)!+(1)n2n(nn)(n1)!=h=0n(1)h2h(nh)(2nh1)!


例题 n n n对夫妻排成一列,每个男人都不和他的妻子相邻,有多少种可能的方案?


M = ( 2 n ) ! − 2 ( n 1 ) ( 2 n − 1 ) ! + 2 2 ( n 2 ) ( 2 n − 2 ) ! − ⋯ + ( − 1 ) n 2 n ( n n ) ( n ) ! = ∑ h = 0 n ( − 1 ) h 2 h ( n h ) ( 2 n − h ) ! M=(2n)! -2(\begin{array}{l} n \\ 1 \end{array})(2n-1)! +2^2(\begin{array}{l} n \\ 2 \end{array})(2n-2)! -\cdots +(-1)^n 2^n(\begin{array}{l} n \\ n \end{array})(n)! \\ =\sum_{h=0}^n(-1)^h 2^h\left(\begin{array}{l} n \\ h \end{array}\right)(2n-h)! M=(2n)!2(n1)(2n1)!+22(n2)(2n2)!+(1)n2n(nn)(n)!=h=0n(1)h2h(nh)(2nh)!

3.6 错排问题

定义:一个排列其中所有的元素都不在原来的位置上,则称这个排列为错排,也叫重排

证明 n n n个元素的错排为 n ! ( 1 − 1 1 ! + 1 2 ! − ⋯ ± 1 n ! ) n!(1-\frac{1}{1!}+\frac{1}{2!}-\cdots \pm \frac{1}{n!}) n!(11!1+2!1±n!1)

A i A_i Ai为数 i i i在第 i i i位上的全体排列, i = 1 , 2 , . . , n i=1,2,..,n i=1,2,..,n。因为数字 i i i不能动,因而有:
∣ A i ∣ = ( n − 1 ) ! , i = 1 , 2 , . . . , n |A_i|=(n-1)!,i=1,2,...,n Ai=(n1)!,i=1,2,...,n

∣ A i ∩ A j ∣ = ( n − 2 ) ! , i , j = 1 , 2 , . . , n , i ≠ j |A_i \cap A_j|=(n-2)!,i,j=1,2,..,n,i\neq j AiAj=(n2)!,i,j=1,2,..,n,i=j

⋯ ⋯ \cdots \cdots ⋯⋯

每个元素都不在原来位置的排列数为
∣ A 1 ‾ ∩ A 2 ‾ ∩ … ∩ A n ‾ ∣ = n ! − C ( n , 1 ) ( n − 1 ) ! + C ( n , 2 ) ( n − 2 ) ! − ⋯ − ± C ( n , n ) 1 ! = n ! ( 1 − 1 1 ! + 1 2 ! − ⋯ ± 1 n ! ) |\overline{A_1} \cap \overline{A_2} \cap \ldots \cap \overline{A_n}| =n! -C(n,1)(n-1)! +C(n, 2)(n-2)! -\cdots -\pm C(n,n)1! \\ =n!(1-\frac{1}{1!}+\frac{1}{2!}-\cdots \pm \frac{1}{n!}) A1A2An=n!C(n,1)(n1)!+C(n,2)(n2)!±C(n,n)1!=n!(11!1+2!1±n!1)


例题:1,2,…,9的全排列中,求偶数都在原来的位置上,其余都不在原来位置上的错排数目。

:实际上是1,3,5,7,9五个数的错排问题,总数为:
5 ! − C ( 5 , 1 ) 4 ! + C ( 5 , 2 ) 3 ! − C ( 5 , 3 ) 2 ! + C ( 5 , 4 ) 1 ! − C ( 5 , 5 ) = 120 ( 1 2 − 1 6 + 1 24 − 1 120 ) = 44 5!-C(5,1)4!+C(5,2)3!-C(5,3)2!+C(5,4)1!-C(5,5) =120(\frac{1}{2}-\frac{1}{6}+\frac{1}{24}-\frac{1}{120}) =44 5!C(5,1)4!+C(5,2)3!C(5,3)2!+C(5,4)1!C(5,5)=120(2161+2411201)=44

3.7 棋盘多项式和有禁区的排列

对于 X = 1 , 2 , . . . , n X={1,2,...,n} X=1,2,...,n的一个排列恰好对应了 n n n个棋子在 n × n n \times n n×n棋盘上的一种布棋方案。以棋盘的行表示 X X X中的元素element,列表示排列中的位置position。如下图所示这种放棋方案就对应了排列2143。

组合数学_第3章_容斥原理与鸽巢原理_第3张图片

如果在排列种限制元素 i i i不能排列在第 j j j个位置,则相应的布棋方案种的第 i i i行第 j j j列的方格不允许放棋子。把所有这些不许放棋的方格称为禁区

对于 { 1 , 2 , 3 , 4 } \{1,2,3,4\} {1,2,3,4}的一个排列 P = e 1 e 2 e 3 e 4 P=e_1e_2e_3e_4 P=e1e2e3e4,规定 e 1 ≠ 3 , e 2 ≠ 1 , 4 , e 3 ≠ 2 , 4 , e 4 ≠ 2 e_1\neq3,e_2\neq1,4,e_3 \neq2,4,e_4 \neq2 e1=3e2=1,4e3=2,4e4=2。这样的排列对应于有禁区的布子。如下图有阴影的格子表示禁区。

组合数学_第3章_容斥原理与鸽巢原理_第4张图片


棋盘多项式 C C C为一棋盘,称 ∑ k = 0 n r k ( C ) x k \sum_{k=0}^{n} r_k(C)x^k k=0nrk(C)xk C C C的棋盘多项式,其中 r k ( C ) r_k(C) rk(C)表示 k k k个棋子布到棋盘 C C C的方案数。规定 r 0 ( C ) = 1 r_0(C)=1 r0(C)=1

性质

  • C i C_i Ci是棋盘 C C C的某一指定格子所在的行与列都去掉后所得的棋盘, C e C_e Ce是仅去掉该格子后的棋盘,则 r k ( C ) = r k − 1 ( C i ) + r k ( C e ) r_k(C)=r_{k-1}(C_i)+r_k(C_e) rk(C)=rk1(Ci)+rk(Ce)
  • 如果 C C C由互相分离的 C 1 C_1 C1 C 2 C_2 C2组成,即 C 1 C_1 C1的任一格子所在的行和列中都没有 C 2 C_2 C2的格子,则有 r k ( C ) = ∑ i = 0 k r i ( C 1 ) r k − i ( C 2 ) r_k(C)=\sum_{i=0}^{k}r_i(C_1)r_{k-i}(C_2) rk(C)=i=0kri(C1)rki(C2)

定理 r i r_i ri i i i个棋子布入禁区的方案数, i = 1 , 2 , 3 , . . . n i=1,2,3,...n i=1,2,3,...n。有禁区的布子方案数(即禁区内不布子的方案数)为
r 0 n ! − r 1 ( n − 1 ) ! + r 2 ( n − 2 ) ! − ⋯ + ( − 1 ) n r n = ∑ k = 0 n ( − 1 ) k r k ( n − k ) ! r_0n!-r_1(n-1)!+r_2(n-2)!-\cdots+(-1)^n r_n = \sum_{k=0}^{n} (-1)^{k} r_{k}(n-k)! r0n!r1(n1)!+r2(n2)!+(1)nrn=k=0n(1)krk(nk)!
定理证明见棋盘多项式 - 维基百科,自由的百科全书 (wikipedia.org)


例题:如下所示,在 4 × 4 4\times4 4×4的棋盘上,打叉的地方为禁区,求棋子无一落入禁区的排列数。

组合数学_第3章_容斥原理与鸽巢原理_第5张图片

:首先计算棋盘多项式,即 r 0 ( C ) + r 1 ( C ) x + r 2 ( C ) x 2 + r 3 ( C ) x 3 + r 4 ( C ) x 4 r_0(C)+r_1(C)x+r_2(C)x^2+r_3(C)x^3+r_4(C)x^4 r0(C)+r1(C)x+r2(C)x2+r3(C)x3+r4(C)x4,只需依次计算 r 0 , r 2 , r 2 , r 3 , r 4 r_0,r_2,r_2,r_3,r_4 r0,r2,r2,r3,r4即可。

由规定知 r 0 ( C ) = 1 r_0(C)=1 r0(C)=1

r 1 ( C ) r_1(C) r1(C)即1个棋子布到棋盘 C C C的方案数,棋盘 C C C有6个禁区,这一个棋子可以布到这6个地方且不存在其他棋子与这一个棋子冲突,因此 r 1 ( C ) = 6 r_1(C)=6 r1(C)=6

r 2 ( C ) r_2(C) r2(C)即2个棋子布到棋盘 C C C​​的方案数,从6个禁区中找到两个不在同一行不在同一列的。有(1,3)和(2,1),(1,3)和(2,4),(1,3)和(3,2),(1,3)和(3,4),(1,3)和(4,2),(2,1)和(3,2),(2,1)和(3,4),(2,1)和(4,2),(2,4)和(3,2),(2,4)和(4,2),(3,4)和(4,2),共11种。即 r 2 r_2 r2©=11;

r 3 ( C ) r_3(C) r3(C)即3个棋子布到棋盘 C C C的方案数,得到 r 3 ( C ) = 7 r_3(C)=7 r3(C)=7

组合数学_第3章_容斥原理与鸽巢原理_第6张图片

r 4 ( C ) r_4(C) r4(C)即4个棋子布到棋盘 C C C的方案数,四个棋子要求都不同行不同列,只有一种方案,即 r 4 ( C ) = 1 r_4(C)=1 r4(C)=1

综上得棋盘多项式为 1 + 6 x + 11 x 2 + 7 x 3 + x 4 1+6x+11x^2+7x^3+x^4 1+6x+11x2+7x3+x4,再结合定理得无一落入禁区得排列数为 1 × 4 ! − 6 × ( 4 − 1 ) ! + 11 × ( 4 − 2 ) ! − 7 × ( 4 − 3 ) ! + 1 × ( 4 − 4 ) ! = 24 − 36 + 22 − 7 + 1 = 4 1\times4!-6\times(4-1)!+11\times(4-2)!-7\times(4-3)!+1\times(4-4)! = 24-36+22-7+1=4 1×4!6×(41)!+11×(42)!7×(43)!+1×(44)!=2436+227+1=4

3.8 有限制的排列

  • 有禁区排列是对元素排列位置的限制,计算的是绝对禁用位置;

  • 有限制排列讲的是相对禁用位置,它限制的是对元素之间的相邻关系的限制 。也称为有限制条件(模式)的排列

  • 这里谈的有限制排列与前面章节提到的“受限多重排列”不同。

3.9 鸽巢原理

鸽巢原理是组合数学中最简单也是最基本的原理,也叫抽屉原理

  • 若有n个鸽子巢,n+1个鸽子,则至少有一个巢内有至少有两个鸽子。

  • m m m只各自, n n n个鸽巢,至少有一个鸽巢里有不少于 ⌊ m − 1 n ⌋ + 1 \lfloor\frac{m-1}{n}\rfloor+1 nm1+1只鸽子。

  • m 1 , m 2 , . . . , m n m_1,m_2,...,m_n m1,m2,...,mn都是正整数,并有 m 1 + m 2 + ⋯ + m n − n + 1 m_1+m_2+\cdots+m_n-n+1 m1+m2++mnn+1个鸽子住进 n n n个鸽巢,则至少对某个 i i i有第 i i i个巢中至少有 m i m_i mi个鸽子, i = 1 , 2 , . . . , n i=1,2,...,n i=1,2,...,n

  • k k k n n n都是任意正整数,若至少有 k n + 1 kn+1 kn+1只鸽子分配在 n n n个鸽巢,则至少有一个鸽巢里有至少 k + 1 k+1 k+1只鸽子。

  • 若取 n ( m − 1 ) + 1 n(m-1)+1 n(m1)+1个球放进 n n n个盒子,则至少有一个盒子有 m m m个球。

  • m 1 , m 2 , . . . , m n m_1,m_2,...,m_n m1,m2,...,mn是正整数,且 m 1 + m 2 + . . . + m n n > r − 1 \frac{m_1+m_2+...+m_n}{n} \gt {r-1} nm1+m2+...+mn>r1,则 m 1 , m 2 , . . . , m n m_1,m_2,...,m_n m1,m2,...,mn中至少有一个数不小于 r r r

3.9.1 整除问题

例题:如果有 n + 1 n+1 n+1个正整数,而这些整数是小于或等于 2 n 2n 2n,是否一定会有一对数是互素的?为什么?

:证明,如果从 { 1 , 2 , . . . , 2 n } \{1,2,...,2n\} {1,2,...,2n}中选择 n + 1 n+1 n+1个整数,那么存在两个整数,它们之间差为1。

设选择的 n + 1 n+1 n+1个整数为 a 1 , a 2 , . . . , a n + 1 , a 1 < a 2 < . . . < a n a_1,a_2,...,a_{n+1},a_1 \lt a_2 \lt ... \lt a_n a1,a2,...,an+1,a1<a2<...<an,令 b 1 = a 1 + 1 , b 2 = a 2 + 1 , . . . , b n = a n + 1 b_1=a_1+1,b_2=a_2+1,...,b_n=a_n+1 b1=a1+1,b2=a2+1,...,bn=an+1,

1 < b 1 < b 2 < . . . < b n ≤ 2 n 1 \lt b_1 \lt b_2 \lt ... \lt b_n \le 2n 1<b1<b2<...<bn2n

a 1 , a 2 , . . . , a n + 1 , b 1 , b 2 , . . . , b n a_1,a_2,...,a_{n+1},b_1,b_2,...,b_n a1,a2,...,an+1,b1,b2,...,bn 2 n + 1 2n+1 2n+1个数,但范围只有 2 n 2n 2n,所以其中至少有一对相等,且 b j = a j + 1 b_j=a_j+1 bj=aj+1 b j = a k b_j=a_k bj=ak所有 a k a_k ak a j a_j aj只相差1。因此得证。

3.9.2 图形问题

例题:在边长为1的等边三角形内任意选择5个点,存在两个点,其间距最多为 1 2 \frac{1}{2} 21。在边长为1的等边三角形内任意选择10个点,存在两个点,其间距最多为 1 3 \frac{1}{3} 31.

组合数学_第3章_容斥原理与鸽巢原理_第7张图片

有4个小三角形,任选5个点,必有两个点在同一小三角形内。/有9个小三角形,任选10个点必有两个点在同一小三角形内。鸽巢原理。

3.9.3 连续累加问题

例题:设 a 1 , a 2 , . . . a m a_1,a_2,...a_m a1,a2,...am是正整数序列,则至少存在 k k k l l l 1 ≤ k < l ≤ m 1\le k \lt l \le m 1k<lm,使得和 a k + a k + 1 + ⋯ + a l a_k+a_{k+1}+\cdots+a_l ak+ak+1++al m m m的倍数。

证明:设 S h = ∑ i = 1 h a i S_h=\sum_{i=1}^{h}a_i Sh=i=1hai S h ≡ r h m o d m , 0 ≤ r h ≤ m − 1 , h = 1 , 2 , . . . , m S_h\equiv r_h mod m,0 \le r_h \le m-1,h=1,2,...,m Shrhmodm,0rhm1,h=1,2,...,m。若存在 l l l S l ≡ 0 m o d m S_l \equiv 0modm Sl0modm,则命题成立。否则, 1 ≤ r h ≤ m − 1 1 \le r_h \le m-1 1rhm1,但 h = 1 , 2 , . . . , m h=1,2,...,m h=1,2,...,m,由鸽巢原理知,存在 r k = r h r_k=r_h rk=rh,即 S k ≡ S h m o d m S_k\equiv S_hmodm SkShmodm,不妨设 h > k h \gt k h>k,则 S h − S k = a k + 1 + a k + 2 + ⋯ + a h ≡ 0 m o d m S_h-S_k=a_{k+1}+a_{k+2}+\cdots+a_h \equiv 0modm ShSk=ak+1+ak+2++ah0modm


例题:一个孩子每天至少做一题,总共做7周,每周总共不超过11题。必存在连续若干天在次期间这个孩子恰好做了20题。

证明:设 a 1 , a 2 , . . . a 49 a_1,a_2,...a_{49} a1,a2,...a49 S k = a 1 + a 2 + ⋯ + a k S_k=a_1+a_2+\cdots+a_k Sk=a1+a2++ak,即证必定存在 0 ≤ k < l ≤ 49 , a k + 1 + a k + 2 + ⋯ + a l = 20 0 \le k \lt l \le49,a_{k+1}+a_{k+2}+\cdots+a_l=20 0k<l49ak+1+ak+2++al=20,即 S l − S k = 20 S_{l}-S_k=20 SlSk=20

其中 1 ≤ S 1 , S 2 , . . . S 49 ≤ 77 1 \le S_1,S_2,...S_{49} \le 77 1S1,S2,...S4977,构造 b 1 = S 1 + 20 , . . . , b 49 = S 49 + 20 ≤ 97 b_1=S_1+20,...,b_{49}=S_{49}+20 \le 97 b1=S1+20,...,b49=S49+2097

1 ≤ S 1 , S 2 , . . . , S 49 , b 1 , b 2 , . . . b 49 ≤ 97 1 \le S_1,S_2,...,S_{49},b_1,b_2,...b_{49} \le 97 1S1,S2,...,S49,b1,b2,...b4997,98个元素,但最高只能取到97,根据鸽巢原理其中必有两个元素相等。即存在 b k = S l b_k=S_l bk=Sl,而 b k = S k + 20 b_k=S_k+20 bk=Sk+20,所以 S k + 20 = S l S_k+20=S_l Sk+20=Sl,即 S l − S k = 20 S_l-S_k=20 SlSk=20

类似问题:生产产品、看电视、做运动…


例题:设 a 1 , a 2 , . . . a 100 a_1,a_2,...a_{100} a1,a2,...a100是由1和2组成的序列,已知从其任一数开始的顺序10个数的和不超过16,即 a i + a i + 1 + ⋯ + a i + 9 ≤ 16 , 1 ≤ i ≤ 91 a_i+a_{i+1}+\cdots+a_{i+9} \le16,1\le i \le 91 ai+ai+1++ai+916,1i91,则至少存在 h h h k k k k > h k \gt h k>h,使得 a h + a h + 1 + ⋯ + a k = 39 a_h+a_{h+1}+\cdots+a_k=39 ah+ah+1++ak=39

证明:令 S j = ∑ i = 1 j a i , j = 1 , 2 , . . . , 100 S_j=\sum_{i=1}^{j}a_i,j=1,2,...,100 Sj=i=1jai,j=1,2,...,100,显然 S 1 < S 2 < ⋯ < S 100 S_1 \lt S_2 \lt \cdots \lt S_{100} S1<S2<<S100,且 S 100 ≤ 10 × 16 = 160 S_{100} \le 10 \times 16=160 S10010×16=160

做序列 S 1 , S 2 , . . . , S 100 , S 1 + 39 , . . . S 100 + 39 S_1,S_2,...,S_{100},S_1+39,...S_{100}+39 S1,S2,...,S100,S1+39,...S100+39共200项。其中最大项 S 100 + 39 ≤ 160 + 39 = 199 S_{100}+39 \le 160+39=199 S100+39160+39=199

由鸽巢原理,必有两项相等,而且必是前段中的某项与后段中的某项相等,设 S k = S h + 39 , k > h , S k − S h = 39 S_k=S_h+39,k \gt h,S_k-S_h=39 Sk=Sh+39,k>h,SkSh=39,即 a h + a h + 1 + ⋯ + a k = 39 a_h+a_{h+1}+\cdots+a_k=39 ah+ah+1++ak=39

你可能感兴趣的:(组合数学,学习)