常用計數技巧和方法(理論篇)


常用計數技巧和方法(理論篇)

文章較長且大量使用 \(\LaTeX\) 導致渲染較慢,因此分為兩個部分

應用篇

由於組合方面的知識非常的繁細,容易忘記,使用時不夠熟練,這里總結一下

以下內容有所借鑒百度百科和大佬的 blog %%%

【瞎總結】組合模型及其組合意義的闡釋

范德蒙德卷積以及一些二項式系數的推導

排列組合定義

排列:指從給定個數的元素中取出指定個數的元素進行排序

組合:組合則是指從給定個數的元素中僅僅取出指定個數的元素,不考慮排序

\[A_n^m = \frac{fac[n]}{fac[n-m]}\\ C_n^m={n \choose m} = \frac{fac[n]}{fac[m]\cdot fac[n-m]} = \frac{A_n^m}{fac[m]} \]

加法原理

第一類辦法中有 \(m_1\) 種不同的方法,在第二類辦法中有 \(m_2\) 種不同的方法,……,在第 n 類辦法中有 \(m_n\) 種不同的方法,那么完成這件事共有 \(N=m_1+m_2+m_3+…+m_n\) 種不同方法

乘法原理

做一件事,完成它需要分成 n 個步驟,做第一步有 \(m_1\) 種不同的方法,做第二步有 \(m_2\) 種不同的方法,……,做第n 步有 \(m_n\) 種不同的方法,那么完成這件事共有 \(N=m_1×m_2×m_3×…×m_n\) 種不同的方法。

二項式定理

\[\large{(a+b)^n=\sum_{i=0}^n{n\choose i}a^ib^{n-i}}\\ \]

很好理解,每個 \((a+b)\) 中可以選出 a 或 b,最終有 k 個 a 的方案數就是 \(n \choose k\)

其他變形,在部分題可以應用

\[\large{(a-b)^n=\sum_{i=0}^n(-1)^{n-i}{n\choose i}a^ib^{n-i}}\\ \large{\frac{(a+b)^n+(a-b)^n}{2}=\sum_{i為偶數}^n{n \choose i}a_{n-i}b^i} \]

楊輝三角

楊輝三角

容易發現其與二項式系數有着對應關系

其他性質

  • \({n \choose i} = {n-1 \choose i}+{n-1 \choose i-1}\) 選不選 n 號物品
  • \({n \choose i} = {n \choose n-i}\)
  • \(2^n=\sum_{i=0}^n {n\choose i}\)
  • \(\sum_{i為奇數}{n\choose i}=\sum_{i為偶數}{n\choose i}=2^{n-1}\)

組合數的奇偶(了解)

對組合數 \(n \choose k\):將 n,k 分別化為二進制,若某二進制位對應的 n 為 0,而 k 為 1,則 \(n \choose k\) 為偶數;否則為奇數。

快速計算組合數的方法

  • 預處理逆元,定義法計算 \(\Theta (N+T)\)
  • 將楊輝三角打表,\(\Theta(N^2+T)\)
  • 對於模數較小的情況可以使用 Lucas 定理和 exLucas 解決
  • 暴力處理上下的質因數消元

范德蒙德卷積

\(\sum_{i=0}^k{n \choose i}{m \choose k-i}= {n + m\choose k}\)

理解:從兩堆共選 k 可表示為枚舉第一堆選多少的方案數 * 第二堆的方案數

\(\sum_{i=1}^n{n \choose i}{n \choose i-1} = { 2n\choose n-1}\)

可以從第一個式子推來,將 \({n \choose i}\) 化為 \(n \choose n-i\) 即可

\(\sum_{i=0}^n{n\choose i}^2={2n \choose n}\)

\(\sum_{i=0}^m{n \choose i}{m \choose i}={n+m \choose m}\)

隔板法(重點)

問題形式一:將 n 個相同蘋果放入 m 個不同的箱子里的方案數(可以限制是否為空)

問題形式二:解方程 \(x_1+x_2+ \cdots+x_m = n\) ,正整數解或自然數方案數

將 n 個蘋果排成一列,發現有 n - 1 的空隙,在其中 m 個空隙中插上隔板,兩個隔板中的蘋果扔到同一個箱子里即可,如果可以為零就加上 m 個虛擬蘋果

  • 解方程變形:\(x_1+x_2+ \cdots+x_m \le n\) 再加入一個變量即可
  • 個數限制:容斥枚舉那些超出限制即可

可重組合

問題:有 m 種球每種球都是足夠多的,有 n 個相同盒子,現在要把盒子塞滿(一種球可以用多次),多少種方案?

\[H(n,m)={{m+n-1}\choose m} \]

理解一:隔板法

枚舉每種球放入幾個盒子,隔板法解決即可

理解二:構造

將 n 個盒子的球按編號排序,第 i 個變為 \(a_i+i\),這樣可以保證每個盒子里的球編號互不相同了,發現任意從 \([2, n + m]\) 選出來 n 個數都可以還原到原來的數列

拓展一:盒子有編號(直接乘上 fac[n])

拓展二:盒子可以為空 (隔板法的解方程變形)

擴展三:球有個數限制,同隔板法

不相鄰組合

問題:有 n 個球,m 個盒子,選出的球不能相鄰(即i 和 i + 1 不可同時選擇),有多少種組合方式?

\[H(n,m)={n-m+1 \choose n} \]

理解:構造

同可重集合將[1, n] 縮小到 [0, n-m],易證

格路模型

從坐標原點走到 \((n,m)\) 的方案數是

\[{{n+m}\choose n} \]

沒啥好說的。。。

艾提艾斯提模型

以前從未聽說QAQ

\[{{n+m+1}\choose m}=\sum_{i=0}^m {n+m-i\choose m-i} \]

從坐標 \((n+1,m)\) 開始,枚舉第一步向下走多少步,且從左邊走過來

畫個圖會很好理解

備胎模型

奇怪的名稱增加了

\[{n \choose l}{l \choose r}={n \choose r}{n-r\choose l-r},l\in[r,n] \]

從 n 中選 l 個再從 l 中選 r 個等價於直接從 n 中選 r 個,再從剩下的選 \(l - r\)

直接走定義式也可證明

拓展形式

\[\prod_{i=1}^k{a_{i-1}\choose a_i}={a_0\choose a_k}\prod_{i=1}^{k-1}{a_0-a_i\choose a_i- a_{i+1}} \]

奇偶模型

\[\sum_{i為奇數}{n\choose i}=\sum_{i為偶數}{n\choose i}=2^{n-1} \]

二項式定理令 \(x = 1, y = -1\) 即可證明

組合解釋

對於 x 元素來說,有一半的集合包含它,一半的集合不包含,包含它的奇子集將它去掉變為不包含它的偶子集,不包含它的奇子集加上它變為包含它的偶子集,得證!

兩個恆等式

上定下動

\[\sum_{i=1}^n {n\choose i}=2^n \]

下定上動

\[\sum_{i=r}^n{i \choose r}={n+1\choose r+1} \]

理解:枚舉選出來的最大編號

二項式反演

我的另一篇文章

莫比烏斯反演

我的另一篇文章

斯特林數和簡單生成函數

我的另一篇文章

高等數學 OI 基礎

我的另一篇文章

多項式全家桶

我的另一篇文章

min-max容斥

在計算期望時常用

巨佬的一篇blog

斯特林反演

巨佬的一篇blog

群論

巨佬的一篇blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM