错排公式的递推公式
错排
递推理解
思路概述
假设 \(D_{i}\) 表示一个规模为 \(n\) 的方案数,则可以试着将这个问题的规模缩小,即可以先从 \(n\) 个值中选择一个值放在一个位置,比如说放在 \(k(k<n)\) 位置,则此时方案数为 \(n-1\),现在再来考虑剩下的 \(n-1\) 个值,再选择一个值放,可以将问题分成不重合的两类,而且包含所有的情况。其一是将这个值放在第 \(n\) 个位置,这种情况下除了第一个放的值之外剩下的 \(n-1\) 个值的方案数就是 \(1*D_{n-2}\) ;其二,这个值不放在第 \(n\) 个位置,而放在其他不为 \(k\) 的位置,这时候剩下的这 \(n-1\) 个值的方案数就是 \(D_{n-1}\)。
所以乘法原理都乘起来就是 \(D_{n}=(n-1)*D_{n-1)}*D_{n-2}\)。
这也就是错排的递推式了。
容斥原理理解
思路概述
假设现在你将 \(1-n\) 的全排列放上去,考虑哪些排列是错误的,首先第 \(k\) 个位置放 \(k\) 的方案数是 \((n-1!)\) 种,这一个数的选取方案是 \(n\) 个数种选一个的方案数,即 \(C^1_n\),乘起来也就是 \(n*(n-1)!\),这样会多减去两个数都不错排的数量,再加上,也就是 \(C^2_n\),剩下的 \(n-2\) 个数随便排,即算出来总方案数就是 \(n!/2!\),后边同理,最后累加起来得到 \(\sum_{k=2}^{n}((-1)^kn!/k!)\)。

浙公网安备 33010602011771号