OSDN Git Service

pangu & latex行间公式空行
authorsshwy <jy.cat@qq.com>
Sat, 20 Jul 2019 09:00:13 +0000 (17:00 +0800)
committersshwy <jy.cat@qq.com>
Sat, 20 Jul 2019 09:00:13 +0000 (17:00 +0800)
docs/math/combination.md

index 3659537..5c75855 100644 (file)
@@ -8,17 +8,17 @@
 
 ### 加法原理
 
-完成一个工程可以有 $n$ 类办法, $a[i](1 \le i \le n)$ 代表第 $i$ 类方法的数目。  
+完成一个工程可以有 $n$ 类办法, $a[i](1 \le i \le n)$ 代表第 $i$ 类方法的数目。
 那么完成这件事共有 $S=a[1]+a[2]+\cdots +a[n]$ 种不同的方法。
 
 ### 乘法原理
 
-完成一个工程需要分 $n$ 个步骤, $a[i](1 \le i \le n)$ 代表第 $i$ 个步骤的不同方法数目。  
+完成一个工程需要分 $n$ 个步骤, $a[i](1 \le i \le n)$ 代表第 $i$ 个步骤的不同方法数目。
 那么完成这件事共有 $S = a[1] \times a[2] \times \cdots \times a[n]$ 种不同的方法。
 
 ### 两原理的区别
 
- **一个与分类有关,一个与分步有关;加法原理是“分类完成”,乘法原理是“分步完成”。** 
+ **一个与分类有关,一个与分步有关;加法原理是“分类完成”,乘法原理是“分步完成”。**
 
 ## 排列与组合基础篇
 
@@ -27,6 +27,7 @@
 从 $n$ 个不同元素中,任取 $m$ ( $m\leqslant n$ , $m$ 与 $n$ 均为自然数,下同)个元素按照一定的顺序排成一列,叫做从 $n$ 个不同元素中取出 $m$ 个元素的一个排列;从 $n$ 个不同元素中取出 $m$ ( $m\leqslant n$ ) 个元素的所有排列的个数,叫做从 $n$ 个不同元素中取出 $m$ 个元素的排列数,用符号 $A_n^m$ (或者是 $P_n^m$ )表示。
 
 排列的计算公式如下:
+
 $$
 A_n^m = n(n-1)(n-2) \cdots (n-m+1) = \frac{n!}{(n - m)!}
 $$
@@ -52,6 +53,7 @@ $$
 从 $n$ 个不同元素中,任取 $m$ ( $m\leqslant n$ ) 个元素组成一个集合,叫做从 $n$ 个不同元素中取出 $m$ 个元素的一个组合;从 $n$ 个不同元素中取出 $m$ ( $m≤n$ ) 个元素的所有组合的个数,叫做从 $n$ 个不同元素中取出 $m$ 个元素的组合数。用符号 $C_n^m$ (或者是 $\binom{m}{n}$ )表示。
 
 组合数计算公式
+
 $$
 C_n^m = \frac{A_n^m}{m!} = \frac{n!}{m!(n - m)!}
 $$
@@ -59,10 +61,7 @@ $$
 如何理解上述公式?我们考虑 $n$ 个人 $m$ ( $m \le n$ ) 个出来,不排队,不在乎顺序 $C_n^m$ 。如果在乎排列那么就是 $A_n^m$ ,如果不在乎那么就要除掉重复,那么重复了多少?同样选出的来的 $m$ 个人,他们还要“全排”得 $A_n^m$ ,所以得:
 
 $$
-C_n^m \times m! = A_n^m
-$$
-
-$$
+C_n^m \times m! = A_n^m\\
 C_n^m = \frac{A_n^m}{m!} = \frac{n!}{m!(n-m)!}
 $$
 
@@ -75,6 +74,7 @@ $$
 在进入排列组合进阶篇之前,我们先介绍一个与组合数密切相关的定理——二项式定理。
 
 二项式定理就是一个展开式:
+
 $$
 (a+b)^n=\sum_{i=0}^n\binom{n}{i}a^{n-i}b^i
 $$
@@ -90,86 +90,97 @@ $$
 请大家一定要区分**多重组合数**与**多重集的组合数**!两者是完全不同的概念!
 
 多重集是指包含重复元素的广义集合。设 $S=\{n_1\cdot a_1,n_2\cdot a_2,\cdots,n_k\cdot a_k,\}$ 表示由 $n_1$ 个 $a_1$,$n_2$ 个 $a_2$,…,$n_k$ 个 $a_k$ 组成的多重集,S 的全排列个数为
+
 $$
 \frac{n!}{\prod_{i=1}^kn_i!}=\frac{n!}{n_1!n_2!\cdots n_k!}
 $$
-相当于把相同元素的排列数除掉了。具体地,你可以认为你有 $k$ 种不一样的球,每种球的个数分别是 $n_1,n_2,\cdots,n_k$,且$n=n_1+n_2+\ldots+n_k$ 。这 $n$ 个球的全排列数就是**多重集的排列数**。多重集的排列数常被称作**多重组合数**。我们可以用多重组合数的符号表示上式:
+
+相当于把相同元素的排列数除掉了。具体地,你可以认为你有 $k$ 种不一样的球,每种球的个数分别是 $n_1,n_2,\cdots,n_k$,且 $n=n_1+n_2+\ldots+n_k$ 。这 $n$ 个球的全排列数就是**多重集的排列数**。多重集的排列数常被称作**多重组合数**。我们可以用多重组合数的符号表示上式:
+
 $$
 \binom{n}{n_1,n_2,\cdots,n_k}=\frac{n!}{\prod_{i=1}^kn_i!}
 $$
-另外补一句,$\binom{n}{m}$其实等价于$\binom{n}{m,n-m}$,只不过后者没人这么写。
 
-### 多重集的组合数1
+另外补一句,$\binom{n}{m}$ 其实等价于 $\binom{n}{m,n-m}$,只不过后者没人这么写。
+
+### 多重集的组合数 1
+
+设 $S=\{n_1\cdot a_1,n_2\cdot a_2,\cdots,n_k\cdot a_k,\}$ 表示由 $n_1$ 个 $a_1$,$n_2$ 个 $a_2$,…,$n_k$ 个 $a_k$ 组成的多重集。那么对于整数 $r(r<n_i,\forall i\in[1,k])$,从 S 中选择 r 个元素组成一个多重集的方案数就是**多重集的组合数**。这个问题等价于 $x_1+x_2+\cdots+x_k=r$ 的非负整数解的数目,可以用插板法解决,答案为
 
-设 $S=\{n_1\cdot a_1,n_2\cdot a_2,\cdots,n_k\cdot a_k,\}$ 表示由 $n_1$ 个 $a_1$,$n_2$ 个 $a_2$,…,$n_k$ 个 $a_k$ 组成的多重集。那么对于整数 $r(r<n_i,\forall i\in[1,k])$,从 S 中选择 r 个元素组成一个多重集的方案数就是**多重集的组合数**。这个问题等价于$x_1+x_2+\cdots+x_k=r$的非负整数解的数目,可以用插板法解决,答案为
 $$
 \binom{r+k-1}{k-1}
 $$
 
-### 多重集的组合数2
+### 多重集的组合数 2
 
 上述其实是一个超级弱化版的多重集组合数,r 的范围太过局限。我们考虑这个问题:设 $S=\{n_1\cdot a_1,n_2\cdot a_2,\cdots,n_k\cdot a_k,\}$ 表示由 $n_1$ 个 $a_1$,$n_2$ 个 $a_2$,…,$n_k$ 个 $a_k$ 组成的多重集。那么对于正整数 $r$,从 S 中选择 r 个元素组成一个多重集的方案数。
 
 这样就限制了每种元素的取的个数。同样的,我们可以把这个问题转化为带限制的线性方程求解:
+
 $$
 \forall i\in [1,k],\ x_i\le n_i,\\
 \sum_{i=1}^kx_i=r
 $$
+
 于是很自然地想到了容斥原理。容斥的模型如下:
 
 1. 全集:$\sum_{i=1}^kx_i=r$ 的非负整数解。
 2. 属性:$x_i\le n_i$。
 
 于是设满足属性 i 的集合是 $S_i$,$\overline{S_i}$ 表示不满足属性 i 的集合,即满足 $x_i\ge n_i+1$ 的集合。那么答案即为
+
 $$
 \left|\bigcap_{i=1}^kS_i\right|=|U|-\left|\bigcup_{i=1}^k\overline{S_i}\right|
 $$
+
 推容斥的式子
+
 $$
 \begin{array}{l}
 \left|\bigcup_{i=1}^k\overline{S_i}\right|
-
 &=&\sum_i\left|\overline{S_i}\right|
 -\sum_{i,j}\left|\overline{S_i}\cap\overline{S_j}\right|
 +\sum_{i,j,k}\left|\overline{S_i}\cap\overline{S_j}\cap\overline{S_k}\right|
 -\cdots\\
 &&+(-1)^{k-1}\left|\bigcap_{i=1}^k\overline{S_i}\right|\\
-
 &=&\sum_i\binom{k+r-n_i-2}{k-1}
 -\sum_{i,j}\binom{k+r-n_i-n_j-3}{k-1}+\sum_{i,j,k}\binom{k+r-n_i-n_j-n_k-4}{k-1}
 -\cdots\\
 &&+(-1)^{k-1}\binom{k+r-\sum_{i=1}^kn_i-k-1}{k-1}
 \end{array}
 $$
+
 于是拿全集 $|U|=\binom{k+r-1}{k-1}$ 减去上式,得到多重集的组合数
+
 $$
 Ans=\sum_{p=0}^k(-1)^p\sum_{A}\binom{k+r-1-\sum_{A} n_{A_i}-p}{k-1}
 $$
+
 其中 A 是充当枚举子集的作用,满足 $|A|=p,\ A_i<A_{i+1}$。
 
 ### 不相邻的排列
 
- $1 \sim n$ 这 $n$ 个自然数中选 $k$ 个,这 $k$ 个数中任何两个数不相邻数的组合有 $C_{n-k+1}^{k}$ 种。  
+$1 \sim n$ 这 $n$ 个自然数中选 $k$ 个,这 $k$ 个数中任何两个数不相邻数的组合有 $C_{n-k+1}^{k}$ 种。
 证明和上面的相同(其实就是懒得写),请自行证明 XD
 
 ### 错位排列(错排)
 
-先看一个小问题:  
- $5$ 本书,编号分别是 $1,2,3,4,5$ ,现在要把这 5 本书是放在编号 $1,2,3,4,5$ 的书架上,要求书的编号和书架的编号不一样,请问有多少种不一样的放置方法?
+先看一个小问题:
+$5$ 本书,编号分别是 $1,2,3,4,5$ ,现在要把这 5 本书是放在编号 $1,2,3,4,5$ 的书架上,要求书的编号和书架的编号不一样,请问有多少种不一样的放置方法?
 
-再看一个小问题:  
+再看一个小问题:
 胸口贴着编号为 $1,2,\cdots,n$ 的 $n$ 个球员分别住在编号为 $1,2,\cdots,n$ 的 $n$ 个房间里面。现规定每个人住一个房间,自己的编号不能和房间的编号一样。
 
 这就是错排问题。当 $n=3$ 时,只能为 312 或 231 这两种。
 
-那么错排问题的解题思路是什么呢?我们以第二个问题为例: **递推还是王道!** 
+那么错排问题的解题思路是什么呢?我们以第二个问题为例: **递推还是王道!**
 
 刚开始所有球员都住在和自己编号一样的房间里面。然后错排开始了,第 $n$ 个球员从第 $n$ 个房间出来。
 
-第一种情况:  
- $n$ 想和 $i(1 \le i \le n-1)$ 其中任何一个球员换房间,其他 $n-2$ 个人换房间的事情,他们就不管了。其他 $n-2$ 个球员的的错排数为 $d[n-2]$ , $n$ 可以和前面 $1 \sim n-1$ 对换,所以有 $n-1$ 个 $d[n-2]$ 。
+第一种情况:
+$n$ 想和 $i(1 \le i \le n-1)$ 其中任何一个球员换房间,其他 $n-2$ 个人换房间的事情,他们就不管了。其他 $n-2$ 个球员的的错排数为 $d[n-2]$ , $n$ 可以和前面 $1 \sim n-1$ 对换,所以有 $n-1$ 个 $d[n-2]$ 。
 
-第二种情况:  
+第二种情况:
  $n$ 想和 $i(1 \le i \le n-1)$ 其中任何一个球员换房间,但是 $n$ 只想 $i$ 住在第 $N$ 个房间,而 $n$ 不想住第 $I$ 个房间。
 
 可能你会这样想:那么 $n$ 可以让 $j$ 住在第 $I$ 号房间里面,然后 $n$ 住在房间 $J$ 。抱歉, $j(1 \le j \le n-1,j\neq i)$ 生气 $n$ 为什么一开始就去找 $i$ 不直接来找 $j$ 。没办法, $n$ 把自己胸口的编码 $N$ 换成了 $I$ ,他假装自己是 $i$ ,然后错排 $1 \sim n-1$ (也就是 $d[n-2]$ )的时候参与进去,这样自己就不会呆在第 $I$ 号房间了。所以有 $n-1$ 个 $d[n-1]$ 。
@@ -186,12 +197,13 @@ $$
 d_n = n \times d_{n-1} + (-1)^n
 $$
 
-错位排列数列为 $0,1,2,9,44,265,\cdots$ 
+错位排列数列为 $0,1,2,9,44,265,\cdots$
 
 ### 圆排列
 
- $n$ 个人全部来围成一圈为 $Q_n^n$ ,其中已经排好的一圈,从不同位置断开,又变成不同的队列。  
+$n$ 个人全部来围成一圈为 $Q_n^n$ ,其中已经排好的一圈,从不同位置断开,又变成不同的队列。
 所以:
+
 $$
 Q_n^n \times n = A_n^n → Q_n = \frac{A_n^n}{n} = (n-1)!
 $$
@@ -204,13 +216,13 @@ $$
 
 ## 组合数性质|二项式推论
 
-由于组合数在OI中十分重要,因此我们讨论一下组合数的若干性质,这其中许多也是二项式的推论。
+由于组合数在 OI 中十分重要,因此我们讨论一下组合数的若干性质,这其中许多也是二项式的推论。
 
 $$
 \binom{n}{m}=\binom{n}{n-m}\tag{1}
 $$
 
-相当于将选出的集合对全集取补集,故数值不变。(对称性)
+相当于将选出的集合对全集取补集,故数值不变。(对称性)
 
 $$
 \binom{n}{m}=\binom{n-1}{m}+\binom{n-1}{m-1}\tag{2}
@@ -222,21 +234,28 @@ $$
 \binom{n}{0}+\binom{n}{1}+\cdots+\binom{n}{n}=\sum_{i=0}^n\binom{n}{i}=2^n\tag{3}
 $$
 
-这是二项式定理的特殊情况。取$a=b=1$就得到上式。
+这是二项式定理的特殊情况。取 $a=b=1$ 就得到上式。
+
 $$
 \sum_{i=0}^m \binom{n}{i}\binom{m}{m-i} = \binom{m+n}{m}\ \ \ (n \geq m)\tag{4}
 $$
 
 拆组合数的式子,在处理某些数据结构题时会用到。
+
 $$
 \sum_{i=0}^n\binom{n}{i}^2=\binom{2n}{n}\tag{5}
 $$
-这是$(4)$的特殊情况,取$n=m$即可。
+
+这是 $(4)$ 的特殊情况,取 $n=m$ 即可。
+
 $$
 \sum_{i=0}^ni\binom{n}{i}=n2^{n-1}\tag{6}
 $$
+
 带权和的一个式子。
+
 $$
 \sum_{i=0}^n\binom{n-i}{i}=F_{n+1}\tag{7}
 $$
-其中$F$是斐波那契数列。
\ No newline at end of file
+
+其中 $F$ 是斐波那契数列。