错排
前言(可跳过)
今天考试要用,而据说之前学过 完全没印象 ,特地前来补坑
真是 KCUF
正题
对于 \(cp(n)\) \((cp=\)错排\()\)
算了,还是叫它 \(D(n)\) 吧
如果对于 \(1\)~\(n\) 的序列,第一位填了 \(x(2\le x\le n)\)
① 第 \(x\) 位填了1,那么剩下的 \(n-2\) 位就又转换为了相同的问题,而且有 \(n-1\) 种情况( \(x\) 有 \(n-1\) 种情况),所以这种情况总的就是 \((n-1) * D(n-2)\) 如图:
② 第 \(x\) 位填的数字不是 \(x\) 也不是 \(1\)(否则就和上面重复了),那么我们现在就可以把 \(1\) 和 \(x\) 看成一个数了,因为一个没有数字,一个没有位置,老惨了
理解:就是现在的 \(1\) 不能填 \(x\) 的位置,其它的 \(n-2\) 个数字不能填它们对应的位置,所以就相当于 \(1\) 是 \(x\) 了(每个数字都有且仅有一个位置不能填)
剩下就是 \(n-1\) 个位置,第一个数 \(x\) 有 \(n-1\) 种情况,所以这种情况总的就是 \((n-1) * D(n-1)\),如图:
\(\therefore D(n) = (n-1) * \left[D(n-1)+D(n-2)\right]\)
特别的:
\(D(1) = 0\)(1个数字,1个位置你怎么错排???)
\(D(0) = 1\)(错排即任何数字都没有在相应的位置上,没有数字当然就是一种排法)
结论
\(D(n) = (n-1) * \left[D(n-1)+D(n-2)\right]\)
\(D(1) = 0\)
\(D(0) = 1\)