高二數學|排列組合進階:不相鄰插空、取捨原理、分堆分組一張表搞定
不相鄰用插空法、有重複字母用取捨原理、分堆分組先分堆再分組。用高鐵停站、圓上直角三角形、賽程表等題型,一次整理高二排列組合最容易混淆的觀念。
組合題最常卡住的地方不是公式,而是判斷該用哪一招。這篇用幾個代表題型,把三個核心技巧整理清楚:不相鄰用插空、有重複就扣掉、分堆分組先分堆再分組。
一、不相鄰問題:插空法
例題:火車車廂設置無線網路
一列火車有 10 節車廂,要選 3 節設置無線網路。
(1)任選 3 節:C(10,3) = 120 種。
(2)3 節網路車廂兩兩不相鄰:
先把 7 節沒有網路的車廂排好:
_ □ _ □ _ □ _ □ _ □ _ □ _ □ _
7 節車廂之間和兩端共有 8 個空位。把 3 節網路車廂各放進不同的空位,就保證它們不會相鄰:
C(8,3) = 56 種
插空法的口訣:先排不受限制的,再把要「分開」的插進空位。
例題:高鐵停站
高鐵路線共 20 站,某班車有 8 站不停,且第一站和最後一站一定要停、不停的站不可以相鄰。有幾種停法?
- 頭尾兩站已確定要停,只看中間 18 站。
- 18 站裡 8 站不停,所以 10 站要停。
- 10 個要停的站排好後,產生 11 個空位。
- 8 個不停的站插進 11 個空位:C(11,8) = C(11,3) = 165 種。
小技巧:C(11,8) 直接算比較麻煩,用 C(n,r) = C(n, n−r) 換成 C(11,3) 會快很多。
二、有上限的分配:取捨原理(扣掉不要的)
例題:每人最多 3 件
把 5 件不同的物品分給 3 個人,每人最多拿 3 件,有幾種分法?
直接數「每人 0~3 件」的情況很麻煩。換個方向:全部的分法,扣掉違反規定的。
- 全部:每件物品都有 3 個人可以選,3⁵ = 243 種。
- 有人拿 4 件:選 1 個人 C(3,1),選 4 件給他 C(5,4),剩下 1 件給另外 2 人 2 種 → 3 × 5 × 2 = 30 種。
- 有人拿 5 件:選 1 個人拿全部 → 3 種。
243 − 30 − 3 = 210 種
三、幾何計數:圓上的直角三角形
圓周上有 10 個等分點,任取 3 點能做出幾個直角三角形?
關鍵觀念:圓周角對到直徑,就是 90°。所以直角三角形一定有一條邊是直徑。
- 10 等分點,每格 36°,相對的兩點(相差 5 格 = 180°)連起來就是直徑。共有 5 條直徑(1–6、2–7、3–8、4–9、5–10)。
- 選定一條直徑後,剩下 8 個點任選一個當第三點,都會形成直角。
5 × 8 = 40 個
這類「幾何 + 組合」的題目非常多,關鍵都是先找出決定形狀的條件(這題是直徑),再數。
四、有重複字母的排列
以 COFFEE 這 6 個字母為例(F、E 各重複一次)。
(1)全部排成一列,相同字母不相鄰
正面數很複雜,用取捨原理:
- 全部:6! ÷ (2! × 2!) = 180
- FF 相鄰:把 FF 綁成一個,剩 5 個單位,其中 EE 重複 → 5! ÷ 2! = 60
- EE 相鄰:同理 60
- FF、EE 都相鄰:4 個單位全不同 → 4! = 24
180 − 60 − 60 + 24 = 84 種
(「都相鄰」被扣了兩次,要加回來一次。)
(2)從中取 4 個字母排成一列
字母可能重複,所以依「取到的字母長什麼樣」分類:
| 取法 | 怎麼算 | 種數 |
|---|---|---|
| 兩對相同(FFEE) | 4! ÷ (2! × 2!) | 6 |
| 一對相同+兩個不同 | 選哪一對 2 種 × 從其餘 3 種字母選 2 個 C(3,2) × 排列 4! ÷ 2! | 2 × 3 × 12 = 72 |
| 四個都不同(C、O、F、E) | 4! | 24 |
6 + 72 + 24 = 102 種
1、2、6、24、120、720 這幾個階乘要背到反射。
五、分堆分組:先分堆,再分組
這是組合裡最多人搞混的地方,記住兩個原則就能一路推下去。
原則 1:用「每堆的個數」判斷要不要除
- 堆本身沒有記號,只能靠個數區分。
- 個數相同的堆,彼此沒辦法區分 → 不排,要除(有 k 堆個數相同就除以 k!)。
- 個數不同的堆,本來就區分得出來 → 不用除。
原則 2:先分堆,再分組
- 分堆:把東西分成一包一包。
- 分組:把這幾包發給人。
- 沒指定誰拿哪一包 → 包和人之間要排列,乘上 (堆數)!。
- 已經指定誰拿幾個 → 不用再排。
一張表整理(24 件不同物品分成 3 堆)
| 分法 | 分堆 | 不指定人,分給甲乙丙 | 指定人 |
|---|---|---|---|
| 8、8、8 | C(24,8)·C(16,8)·C(8,8) ÷ 3! | 再 × 3! | 甲乙丙各 8:再 × 3! |
| 10、8、6 | C(24,10)·C(14,8)·C(6,6) | 再 × 3! | 甲 10 乙 8 丙 6:不用再乘 |
| 12、6、6 | C(24,12)·C(12,6)·C(6,6) ÷ 2! | 再 × 3! | 甲 12,乙丙各 6:再 × 2! |
最後一列要特別注意:甲已經確定拿 12 的那一堆,但兩堆 6 個的還可以互換給乙、丙,所以要乘 2!。
這張表務必看好幾遍,所有分堆分組的題目都是它的變形。
練習:9 本不同的書
| 題目 | 算式 | 答案 |
|---|---|---|
| 平分給甲、乙、丙 | C(9,3)·C(6,3)·C(3,3) ÷ 3! × 3! | 1680 |
| 分成 4、3、2 本,任意分給三人 | C(9,4)·C(5,3)·C(2,2) × 3! | 7560 |
| 分成 5、2、2 本,任意分給三人 | C(9,5)·C(4,2)·C(2,2) ÷ 2! × 3! | 2268 |
| 平分成三堆(不分給人) | C(9,3)·C(6,3)·C(3,3) ÷ 3! | 280 |
| 分成 5、2、2 三堆(不分給人) | C(9,5)·C(4,2)·C(2,2) ÷ 2! | 378 |
看關鍵字:「分給」就要分組;「分成幾堆」就只分堆。
六、賽程問題:8 隊單淘汰賽
8 支隊伍打單淘汰賽,賽程表有幾種排法?
方法一:分堆分組
- 先把 8 隊分成上、下兩個半區各 4 隊:C(8,4)·C(4,4) ÷ 2! = 35(兩個半區沒有區別,要除)。
- 每個半區再分成兩組各 2 隊:C(4,2)·C(2,2) ÷ 2! = 3,兩個半區都要做 → 3² = 9。
35 × 9 = 315 種
方法二:全部排列再除
把 8 隊排進 8 個位置:8! 種。但賽程表上每一場比賽的兩邊互換,賽程其實一樣。8 隊單淘汰總共有 7 場比賽,每場都可以左右對調:
8! ÷ 2⁷ = 40320 ÷ 128 = 315 種
兩種方法答案一樣,可以互相驗算。
重點整理
- 不相鄰 → 先排其他的,再插空。
- 有上限、有排除條件 → 全部扣掉不要的(取捨原理)。
- 有重複元素的排列 → 除以重複次數的階乘;從中選取時依「取到的組成」分類。
- 分堆 → 個數相同的堆要除;分組 → 沒指定就乘堆數的階乘,已指定就不用。
- 賽程表 → 每場比賽可左右對調,n 隊單淘汰有 n − 1 場。
整理日期 2026-10-14・由思壯文教課堂內容整理改寫