排列數
從\(n\)個物品中不放回地依次選\(m\)個物品,考慮順序,有多少種方案,記作\(A_n^m\)
組合數
從\(n\)個物品中不放回地依次選\(m\)個物品,不考慮順序,有多少種方案,記作\(C_n^m\)
求組合數常用公式
定義式
當\(n,m\)很大時,預處理階乘和逆元,預處理\(O(n)\),求組合數\(O(1)\)
遞推式
楊輝三角
當模數不是質數的時候,預處理\(O(n^2)\),求組合數\(O(1)\)
組合數常用性質及證明
性質一
\[C_n^m=C_n^{n-m} \]
證明:
法一:利用組合數意義理解
在\(n\)個當中選\(m\)個,相當於在\(n\)個當中不選\(n-m\)個
法二:公式表示
\(C_n^m=\frac{n!}{m!*(n-m)!}\)
\(C_n^{n-m}=\frac{n!}{(n-m)!*(n-(n-m))!}=\frac{n!}{m!*(n-m)!}\)
性質二
\[C_{n+m+1}^m=\sum_{i=0}^mC_{n+i}^i \]
證明:
利用畫圖以及楊輝三角得證
性質三
\[C_n^m*C_m^r=C_n^r=C_{n-r}^{m-r} \]
證明:
法一:利用組合數意義理解
在\(n\)個當中選\(m\)個,再在選出的\(m\)個當中選\(r\)個
相當於在\(n\)個當中選\(r\)個,再在剩下的\(n-r\)個中選還需要的\(m-r\)
法二:公式推導
性質四(二項式定理)
\[\sum_{i=0}^n\{C_n^i*x^i\}=(1+x)^n \]\[\sum_{i=0}^nC_n^i=2^n\ \ \ (x=1) \]
證明:
組合數意義理解
\((1+x)^n=(1+x)*(1+x)*...*(1+x)\),\(n\)個\((1+x)\)相乘
\((1+x)\)在乘法中的貢獻相當於要么選\(1\),要么選\(x\)
有\(i\)個\((1+x)\)中選\(x\),產生的貢獻就是\(x^i\),剩下的\(n-i\)個\((1+x)\),產生的貢獻是\(1\)
在\(n\)個中任意選\(i\)個,相當於\(C_n^i\)
性質五
\[\sum_{i=0}^n\{(-1)^i*C_n^i\}=0 \]
證明:
①:若\(n\)為奇數
則\(\sum_{i=0}^n\)共有\(n+1\)項(偶數項),而\((-1)^i*C_n^i=(-1)^i*C_n^{n-i}\)
因為\(n\)為奇數,所以當\(i\)為奇數時,\(n-i\)為偶數,當\(i\)為偶數時,\(n-i\)為奇數
所以\(i,n-i\)奇偶性不同,那么\((-1)^i+(-1)^{n-1}\)相當於\((-1)^{奇數次方}+(-1)^{偶數次方}=0\)
\((-1)^i*C_n^i+(-1)^{n-i}*C_n^{n-i}=0\)
偶數項剛好每一對可以相互抵消,所以性質顯然成立
②:若\(n\)為偶數
\((-1)^0=(-1)^n=1\),先把\(i=0,i=n\)的情況拆出來,用楊輝三角展開中間項
把前一個求和加上\((-1)^n*C_{n-1}^{n-1}\)一項,后一個求和加上\((-1)^0*C_{n-1}^0\)
注意\(n-1\)為奇數,奇數情況已經證明了,故這兩個公式直接等於\(0\),刪掉,原式轉化為
性質六
\[C_n^0+C_n^2+...=C_n^1+C_n^3+...=2^{n-1} \]
證明:
用楊輝三角公式暴力展開尋找規律
①假設\(n\)為奇數
發現每一項都是相等的,第二個式子多出來的\(C_{n-1}^n=0\),所以相等得證
又根據性質四\(\sum_{i=0}^nC_n^i=2^n\),前兩個式子相加剛好等於\(\sum_{i=0}^nC_n^i\),又相等,\(/2\)即為\(2^{n-1}\)
②假設\(n\)為偶數
仍然兩兩對應相等,第一個式子多出來的\(C_{n-1}^n=0\),后面的方法與奇數情況一樣,不贅述
性質七
\[C_{n+m}^r=\sum_{i=0}^{min(n,m,r)}\{C_n^i*C_m^{r-i}\} \]\[C_{n+m}^n=C_{n+m}^m=\sum_{i=0}^{min(n,m)}\{C_n^i*C_m^i\},(r=n||r=m) \]
證明:
用組合數意義理解
把\(n+m\)個分成\(n\)個一組,\(m\)個一組,總共選\(r\)個,相當於\(n\)個中選\(i\)個,\(m\)個中選\(r-i\)個
性質八
\[m*C_n^m=n*C_{n-1}^{m-1} \]
證明:
性質九
\[\sum_{i=0}^n\{C_n^i*i\}=n*2^{n-1} \]
證明:
由性質四可知,\(\sum_{i=0}^nC_n^i=2^n,\sum_{i=0}^{n-1}C_{n-1}^i=2^{n-1}\)
性質十
\[\sum_{i=0}^n\{C_n^i*i^2\}=n*(n+1)*2^{n-2} \]
證明:
利用性質九
性質十一
\[\sum_{i=0}^n\{(C_n^i)^2\}=C_{2*n}^n \]
證明:
根據性質七易證
錯排數
把\(n\)個分別寫有\(1-n\)的球放進\(n\)個固定的分別寫有\(1-n\)的盒子里,每個盒子里正好有一個球且盒子上的數字與盒中球的數字都不相同的方案數,記作\(D(n)\)
遞推式:
\[D(n)=(n-1)*(D(n-1)+D(n-2))\ \ \ \ \ D(1)=0,D(2)=1 \]
證明:
第一個盒子有\(n-1\)種球可以放(除了一號球),假設第一個盒子放的\(i\)號球,則有兩種情況
①恰好第\(i\)個盒子放的球就是一號球,則剩下的\(n-2\)個球繼續錯排,方案數為\(D(n-2)\)
②第\(i\)個盒子放的不是一號球,此時形成了一條新的限制:一號球不能放進\(i\)號盒
除去第一個盒子和\(i\)號球的剩下\(n-1\)個球和\(n-1\)個盒子,繼續錯排的方案數為\(D(n-1)\)