- 小白整理,有誤請大佬斧正
排列組合
排列
-
無其他限制下,從n個物體種選擇r個出來的所有排列情況為\(A(^r_n)=\frac{n!}{(n-r)!}\) r>n時\(A(^r_n)=0\)
-
從n個物體種選擇r個的圓排列為\(P(^r_n)=\frac{A(^r_n)}{r}\)
多重集的排列
-
設n種元素每種互不相同,每種元素都有\(\infty\)種(無限多重集),在這n種中取r個的排列為\(n^r\)
-
設n種元素每種互不相同,每種元素都有\(a_1,a_2,a_3...a_n\)種(有限多重集),在這n種中取r個,當\(min({a_1,a_2,...a_n})>=r\)時,排列數依然為\(n^r\)
-
設n種元素每種互不相同,每種元素都有\(a_1,a_2,a_3...a_n\)種(有限多重集),其全排列為\(\frac{(a_1+a_2+a_3+...+a_n)!}{{a_1}!{a_2}!...{a_n}!}\)
-
設n種元素每種互不相同,每種元素都有\(a_1,a_2,a_3...a_n\)種(有限多重集),在這n種中取r個,當\(min({a_1,a_2,...a_n})<r\)時,排列為\(\sum_{k_1+k_2+...+k_n=r}\frac{r!}{{k_1}!{k_2}!...{k_n}!}\)
組合
- 無限制下,從n個物體選擇r個物體的組合為\(C(n,r)=\frac{n!}{r!(n-r)!}\), 亦寫作\((^n_r)=\frac{n!}{r!(n-r)!}\), r>n時,\(C(n,r)=0\)
多重集的組合
-
設n種元素每種互不相同,每種元素都有\(\infty\)種(無限多重集),在這n種中取r個的組合為\((^{n+r-1}_{r})=(^{n+r-1}_{n-1})\)
-
設n種元素每種互不相同,每種元素都有\(a_1,a_2,a_3...a_n\)種(有限多重集),在這n種中取r個,當\(min({a_1,a_2,...a_n})>=r\)時,組合數為\((^{n+r-1}_{r})=(^{n+r-1}_{n-1})\)
-
設n種元素每種互不相同,每種元素都有\(a_1,a_2,a_3...a_n\)種(有限多重集),在這n種中取r個,當\(min({a_1,a_2,...a_n})<r\)時,組合為$$
組合數公式
- \(C(_n^k)=C(n-1,k)+C(n-1,k-1)\),楊輝恆等式
- \(C(_n^k)=C(n,n-k)\),對稱性
- \(\sum_{i=0}^nC(n,i)=2^n\),單行和
- \(\sum_{i=0}^nC(n,i)^2=C(2n,n)\),單行平方和
- \(\sum_{i=0}^nC(_{k+i}^k)=C(_{n+k+1}^{k+1})\),斜\(60^\circ\)行和=反斜下一行對應值
- \(f(n)=\begin{cases} \sum_{i=0}^{n/2-1}C(n/2+i,2i+1)& \text n\equiv 0 \bmod 2\\ \sum_{i=0}^{(n-1)/2}C\bigg((n-1)/2+i,2i\bigg)& \text n\equiv 1 \bmod 2 \end{cases}\) , \(\big(30^\circ\)斜行和等於Fibonacci數列\(\big)\)
- \(C(n,i)=\frac{n-i+1}{i}C(n,i-1)\), 遞推式
- \(C(n,m)\)的奇偶性:n&m=m為奇,否則為偶(lucas定理推論)
二項式定理
- \((a+b)^n=\sum_0^nC(_n^i)a^ib^{n-i}\)
鴿巢原理
- n+1只鴿子飛向n個鴿巢,一定存在兩只鴿子飛向了同一個鴿巢
容斥原理
容斥原理的題常考慮反面
錯排問題
- \(D_n=n!\big(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+...+(-1)^n\frac{1}{n!}\)
- 遞推式推導
考慮在\(D_{n-1}\)中加入n來生成n個數的錯排,數n可以與前面n-1個數任一交換即可,貢獻為\((n-1)D_{n-1}\)
考慮在有1..n-1的一個序列,我們直接加入n來生成n的錯排,可以在n-1個數任選一個數與n交換位置,然后剩下的n-2個數進行錯排,這樣就生成了n的錯排,貢獻為\((n-1)D_{n-2}\)
因此最終的遞推式就是\(D_n=(n-1)(D_{n-1}+D_{n-2})\)
\(D_1=0,D_2=1,D_3=2,D_4=9...\)
- \(D_n=nD_{n-1}+(-1)^n\)
特殊計數序列
Fibonacci序列
- \(f_n=f_{n-1}+f_{n-2},n\geq3,f_1=f_2=1\)
- \(f_n=\frac{1}{\sqrt{5}}\big[(\frac{1+\sqrt{5}}{2})^n-(\frac{1-\sqrt{5}}{2})^n\big]\)
- \(f_n\equiv 276601065(691504013^n-308495997^n)\bmod 10^9+9\),注意僅限模1e9+9的情況下。
- \(\sum_{i=1}^nf_i=f_{n+2}-1\),前綴和公式
- \(f_1+f_3+...+f_{2n-1}=f_{2n}\),奇數項前綴和公式
- \(f_2+f_4+..+f_{2n}=f_{2n+1}\),偶數項前綴和公式
- \(\sum_{i=1}^nf_i^2=f_nf_{n+1}\),平方和公式
- \(f_n^2=(-1)^{n+1}+f_{n-1}f_{n+1}\)
- \(f_{2n}=f_n(f_{n+1}+f_{n-1})\)
- \(f_n \equiv 0\bmod p\Rightarrow f_{nk} \equiv 0 \bmod p,\mbox{k為正整數}\)
- \(gcd(f_n, f_m) = f_{gcd(n, m)}\),
- 對於質數P, f[n] % P 有循環節, 如果5是模P的二次剩余,則循環節長度是P - 1的因子, 否則是2(P + 1)的因子; 類Fibonacci也類似。
- \(f_n=\sum_{i=0}^mC(n-1-i,i),m \leq n-1-m\),楊輝三角斜\(30^\circ\)度求和
catalan數
- \(C_n=\sum_{k=0}^{n-1}C_nC_{n-k-1},n \geq 2,C_0=C_1=1\)
- \(C_0=1,C_1=1,C_2=2,C_3=5,C_4=14,C_5=42,C_6=132,C_7=429,C_8=1430,C_9=4852\)...
- \(C_n=\frac{C(2n,n)}{n+1}=C(2n,n)-C(2n,n-1)\),注意組合數區分卡特蘭數
- \(C_n=\frac{4n-2}{n+1}C_{n-1}\)
用於棧進出序列,二叉樹的種類枚舉、多邊形分成三角形的個數、圓括弧插入公式中的方法數。。。
Stirling數
\(Stirling估計式:n!\sim\sqrt{2\pi n}{(\frac{n}{e})}^n\)
第一類Stirling數
- 正負,其絕對值的實際意義為n個元素的集合組成m個的圓排列的數目,\((n\geq m)\)
- 遞推式:\(S_u(n,m)=S_u(n-1,m)+(n-1)S_u(n-1,m-1)\)
- 邊界以及結論
\(S_u(0,0)=1\\S_u(n,0)=0\\S_u(n,1)=1\\S_u(n,n)=1\\S_u(n,n-1)=C(n,2)\\S_u(n,n-2)=2C(n,3)+3C(n,4)\\\sum_{i=0}^nS(n,i)=n!\)
第二類Stirling數
- n個元素組成拆成m個非空集合的方案數
- 遞推式:\(S_2(n,m)=S_2(n-1,m-1)+mS_2(n-1,m)\)
- 邊界以及結論
\(S_2(n,0)=0^n\\S_2(n,1)=1\\S_2(n,n)=1\\S_2(n,2)=2^{n-1}-1\\S_2(n,n-1)=C(n,2)\\S_2(n,n-2=C(n,3)+3C(n,4))\)
拆分數
- 整數n拆成r個正整數之和為n的r拆分數,記作\(P_r(n)\)
- \(P_1(n)=1,P_n(n)=1,P_{n-1}(n)=1,P_{n-2}(n)=2,P_{n-3}(n)=3\)
- \(P_2(n)=\big\lceil{\frac{n-1}{2}}\big\rceil,n \geq 2\)
- \(P_r(n)=\sum_{i=1}^r P_i(n-r)\)
裝箱問題
- n個球放入r個盒子成為裝箱問題
- 相同球n和相同盒子r,\(n \geq r\)
無空盒子 \(P_r(n)\)
可以有空盒子 \(\sum_{i=1}^rP_i(n)\)
- 相同球不同盒子
無空盒子 \(C(n-1,r-1)\)
可以有空盒子 \(C(n+r-1,r-1)\)
- 不同球相同盒子
無空盒子 \(S_2(n,r)\)
可以有空盒 \(\sum_{i=1}^rS_2(n,i)\)
- 不同球不同盒子
無空盒子 \(r!S_2(n,r)\)
可以有空盒子 \(r^n\)
生成函數
- \((1-x)^{-m}=\sum_0^\infty{x^i(^{m+i-1}_{m-1})}\)
burnside引理&polya定理
- 兩者都是解決考慮旋轉或是翻轉等計數問題的理論
- burnside引理
設\(G={a_1,a_2,…a_g}\)是目標集\([1,n]\)上的置換群。每個置換都寫成不相交循環的乘積。 是在置換\(a_k\)的作用下不動點的個數,也就是長度為1的循環的個數。通過上述置換的變換操作后可以相等的元素屬於同一個等價類。若\(G\)將\([1,n]\)划分成\(l\)個等價類,則:
\[l=\frac{1}{\overline{|G|}}\sum_{i=1}^gc_1(a_i) \]\(\mbox{其中}c_1(a_i)\mbox{代表}a_i\mbox{中包含的一階循環(不動點)的個數}\)
- polya定理
設\(G\)是n個對象的一個置換群, 用m種顏色染圖這n個對象,則不同的染色方案數為:
\[\frac{1}{\overline{|G|}}\sum_{i=1}^gm^{c(\overline{p_i})}$$, 其中$G=\{\overline{p_1},\overline{p_2},...\overline{p_g}\}, c(\overline{p_i})\mbox{表示}\overline{p_i}\mbox{的循環節數(階)}$\]