错位排列
定义
每个数都不在自己位置的排列,简称 错排。
形式化的讲就是 若排列 f1,f2,…,fnf_1,f_2,\ldots,f_nf1,f2,…,fn, 对于每个 iii,有 fi≠if_i \neq ifi=i 则这个排列 fff 是一个错排
递推求解错排
问: nnn 个数的错排有多少种?
我们不妨设 dpndp_ndpn 表示 nnn 个数的排列有多少种。
我们考虑最后的一个数 nnn,他有 n−1n-1n−1 个位置可以选择,假设他选了第 xxx 位。
那么对于这个 xxx 他有两种选择:
- 排在 nnn 号位置上
- 不排在 nnn 号位置上
如果他排在 nnn 号位置上,那么其余数的方案和 n−2n-2n−2 个数的错排是等价的。
如果他排在 nnn 号位置上,相当于其余 n−1n-1n−1 个数,每个数都不能排在自己的位置上(对于 xxx 相当于不能排在 nnn 号位置上)
因此总方案:dpn=(n−1)(dpn−1+dpn−2)dp_n = (n - 1)(dp_{n-1}+dp_{n-2})dpn=(n−1)(dpn−1+dpn−2),特别的 dp1=0,dp2=1dp_1=0, dp_2=1dp1=0,dp2=1

博客介绍了错位排列,即每个数都不在自己位置的排列。还探讨了递推求解错排的方法,设 dpn 表示 n 个数的错排种数,考虑最后一个数 n 有 n - 1 个位置可选,分情况得出总方案 dpn=(n - 1)(dpn - 1 + dpn - 2),并给出 dp1=0,dp2=1。
6040

被折叠的 条评论
为什么被折叠?



