一个组合问题

今天遇到一个题目,经过一番分析,归结为这样一个问题:考虑 \(1, 2, \dots, n\)\(n\) 个数的所有排列,共有 \(n!\) 个。今指定其中 \(k\) 个数的相对顺序,问符合条件的排列有多少个?

分析

不失一般性,假设指定 \(1, 2, \dots, k\)\(k\) 个数的相对顺序为 \(1, 2, \dots, k\)。举例言之,设 \(n = 5, k = 2\),则 \((1, 2, 3, 4, 5)\)\((1, 4, 3, 2, 5)\)\((1, 5, 3, 4, 2)\) 合格,而 \((3, 2, 5, 1, 4)\)\((2, 1, 4, 3, 5)\) 不合格。

考虑下述构造排列的过程:
先把 \(1, 2, \dots, k\) 顺次排好,再把 \(k + 1, \dots, n\) 逐一插入到序列中。仍以 \(n = 5, k = 2\) 为例,可以把 \((1, 4, 3, 2, 5)\) 这个排列想象成是经过如下四个步骤得到的:
\((1, 2) \to (1, 3, 2) \to (1, 4, 3, 2) \to (1, 4, 3, 2, 5)\)

不难证明:如此构造出来的排列都合格,且所有合格的排列都可以如此构造出来。

插入 \(k + 1\) 时有 \(k + 1\) 个位置可选,插入 \(k + 2\) 时有 \(k + 2\) 个位置可选,……,插入 \(n\) 时有 \(n\) 个位置可选。于是可知满足条件的排列共有 \((k + 1)(k + 2) \dots (n) = n!/k!\) 个。

扩展

\(1, 2, \dots, n\)\(n\) 个数的所有排列,其中 \(x\)\(k < x \le n\))排在 \(1, 2, \dots, k\) 之前的排列有多少个?

沿用上述构造排列的思路,不难得出共有 \(k!n!/(k+1)! = n! /(k+1)\)

还可以用另一种思路来表示所要求的量:枚举 \(x\) 在排列中的位置,有
\(n!/(k+1) = \sum_{i = 1}^{n - k}\binom{n - i}{k}k! (n - k - 1)!\),即
\(\sum_{i = 1}^{n - k} \binom{n - i}{k} = n!/((k+ 1)!(n-k-1)!) = \binom{n}{k + 1}\)
做指标代换,令 \(j = n - i\)\(m = n - 1\),得
\(\sum_{j = k}^{m} \binom{j}{k} = \binom{m + 1}{k + 1}\)

\[\sum_{i = k}^{n} \binom{i}{k} = \binom{n + 1}{k + 1} \]

是一个经典的组合恒等式,此等式另有证明如下:
只需要注意到 \(\binom{k}{k} + \binom{k + 1}{k} = \binom{k + 1}{k+1} + \binom{k+1}{k} = \binom{k + 2}{k+1}\)

形象地说,这个证明就像燃爆竹,点燃了一头,就会顺次炸到末尾。

2020/3/10 补:上式亦可写成

\[\binom{n}{0} + \binom{n + 1}{1} + \dots + \binom{n + k}{k} = \binom{n + k + 1}{k} \]

证明:只需注意到 \(\binom{n}{0} + \binom{n + 1}{1} = \binom{n + 1}{0} + \binom{n+1}{1} = \binom{n + 2}{1}\)

posted @ 2020-01-11 22:28  Pat  阅读(184)  评论(0编辑  收藏  举报