容斥原理(Inclusion–Exclusion)
算「至少滿足一項」時,直接相加會把重疊處重複算——先加後減、逐層修正,就是容斥原理。
這招在解什麼題
只要題目在問 「至少符合其中一項」、或幾個集合有 重疊,直接把各項數量加起來就會把重疊部分重複算。容斥原理(Inclusion–Exclusion) 就是「先全部加進來、再把多算的減掉」的系統修正法。
最常見的招牌題:一班 人,買雞蛋糕 人、買地瓜球 人、兩樣都買 人,問至少買一樣幾人?直接 會把「兩樣都買」那 人算兩次,所以要減一次:
兩個集合:加起來,減掉重疊一次
與 各自都把 算了一次,合計算了兩次,而它只該算一次,所以減一次 補回來。機率版本一模一樣:
只有互斥()時才能直接相加。看到「或」就先問:這兩件事會不會同時發生?會,就得減重疊。
三個集合:加單項、減兩兩、補三重
節奏是奇數層加、偶數層減:先加所有單項,減掉所有「兩兩交集」,再加回「三者交集」。三者都符合的元素在單項被加 次、在兩兩交集被減 次,若不補回就變成 ——所以最後 次把它救回來。
反面更快:補集法(餘事件)
當「至少一個」的情況很雜、但「一個都不符合」很單純時,從全部扣掉反面往往更快:
這其實是容斥的孿生兄弟。經典場景:「排成一列,甲、乙不相鄰」——正面分類很煩,用全部排法 甲乙相鄰的排法(把甲乙綁成一綑)一步到位。機率的 也是同一招。
一個高頻應用:格子路徑「避開某些點」
從 到 只能往東或往北的最短路徑數,是個組合數。若必須避開某些施工路口,就用容斥:
「經過點 的路徑數」=( 到 )×( 到 )。多個禁點時,被重複扣掉的「同時經過兩點」要再加回來——又是加減加減的容斥節奏。(若兩個禁點無法同時出現在一條只往東北走的路徑上,這一項就是 。)
常見陷阱(很多人在這裡掉分)
- 看到「或」就直接相加:沒先確認互斥,就漏減了重疊,答案偏大。
- 三集合只減不補:減完兩兩交集忘了 ,把三重區域整個扣成 。
- 符號層次搞錯:容斥是**加、減、加、減……**交替,跳層或連續同號就全錯。
- 正面硬算:明明補集法( 反面)兩步搞定,卻去窮舉正面所有情況。
- 交集算錯: 常是最容易低估的一項——重疊沒抓乾淨,整條式子跟著錯。
和其他技巧的關係
學完動手
判「該不該減、減幾次、要不要補回」是容斥的全部功夫。到練習題庫做本知識點的原創分層練習,每題附完整繁中詳解。