关于排列数和组合数的一些性质
排列数
从 \(n\) 个不同元素种取出 \(m(m\le n)\) 个元素的所有不同排列的个数,叫做从 \(n\) 个不同元素种取出 \(m\) 个元素的排列数,用符号 \(A_n^m\) 表示。
排列数的一些性质
-
\[A_n^m=\frac{n!}{(n-m)!} \]
-
\[nA_{n-1}^{m-1}=\frac{(n-1)!\cdot n}{(n-1-m+1)!}\\=\frac{n!}{(n-m)!}\\=A_n^m \]
-
\[mA_{n-1}^{m-1}+A_{n-1}^m=\frac{m(n-1)!}{(n-m)!}+\frac{(n-1)!}{(n-m-1)!}\\=\frac{m(n-1)!+(n-m)(n-1)!}{(n-m)!}\\=\frac{n!}{(n-m)!}\\=A_n^m \]
组合数
从 \(n\) 个不同元素种取出 \(m(m\le n)\) 个元素的所有不同组合的个数,叫做从 \(n\) 个不同元素种取出 \(m\) 个元素的组合数,用符号\(C^m_n\) 表示。
组合数的一些性质
-
\[C_n^m=\frac{n!}{(n-m)!m!} \]
-
\[C_n^m=C_{n-1}^m+C_{n-1}^{m-1}\ \ \texttt{可以用动态规划的思想理解} \]
-
\[C_n^m=C_m^{n-m} \]
-
\[\sum_{i=0}^mC_{n+i}^i=C_m^0+C_{m+1}^1+C_{m+2}^2+...+C_{m+r}^r\\=C_m^1+C_{m+1}^1+C_{m+2}^2+...+C_{m+r}^r\\=C_{m+2}^1+C_{m+2}^2+...+C_{m+r}^r\\=C_{m+r+1}^r \]
-
\[\texttt{设} S_{n}^m=\sum_{i=0}^mC_n^i,\texttt{则}\\S_n^{m+1}=S_n^m+C_n^{m+1}\\S_{n+1}^m=C_{n + 1}^0 + C_{n + 1}^1 + C_{n + 1}^ 2 + \cdots + C_{n + 1}^m\\=C_{n}^0 + (C_n^0 + C_n^1) + (C_n^1 + C_n^2) + \cdots + (C_n^{m-1} + C_n^m)\\=2S_n^m-C_n^m\\ \texttt{所以如果我们要求多个组合数的前缀和,我们可以类似于莫队的双指针的方式求} \]
-
\[(x+y)^n=\sum_{i=0}^n C_n^ix^iy^{n-i} \]
-
\[\sum_{i=0}^nC_n^i x^i=\sum_{i=0}^n1^{n-i}C_n^i x^i=(1+x)^n \]
-
\[\sum_{i=0}^n C_{n}^i=\sum_{i=0}^n 1^i\times 1^{n-i}C_{n}^i=(1+1)^n=2^n \]
-
\[\sum_{i=0}^n (-1)^iC_n^i=\sum_{i=0}^n 1^{n-i}(-1)^iC_n^i=(1+(-1))^n=0 \]
-
\[C_{m+n}^n=\sum_{i=0}^{n}C_n^iC_m^i \]
-
\[C_n^m=\frac n m C_{m-1}^{n-1} \]
-
\[\sum_{i=1}^n C_n^i\cdot i=\sum_{i=1}^n \frac{n!}{(i-1)!(n-i)!}\\=n\sum_{i=1}^n \frac{(n-1)!}{(i-1)!(n-i)!}\\=n\sum_{i=0}^{n-1} C_{n-1}^i\\=n2^{n-1} \]
-
\[\sum_{i=1}^nC_n^ii^2=n\sum_{i=0}^{n-1} C_{n-1}^i(i+1)\\=n(\sum_{i=0}^{n-1} C_{n-1}^ii+\sum_{i=0}^{n-1}C_{n-1}^i)\\=n((n-1)2^{n-2}+2^{n-1})=n(n+1)2^{n-2} \]
-
\[\sum_{i=0}^n(C_n^i)^2=\sum_{i=0}^nC_n^iC_{n}^{n-i}=C_{2n}^n \]
-
\[f(n)=\sum_{i=0}^n (-1)^iC_n^ig(i)\Leftrightarrow g(n)=\sum_{i=0}^n (-1)^iC_n^if(i) \]
-
\[f(n)=\sum_{i=0}^nC_n^ig(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{n-i}f(i) \]
-
\[f(n)=\sum_{i=n}^mC_i^ng(i)\Leftrightarrow g(n)=\sum_{i=n}^m(-1)^{i-n}C_i^nf(i) \]