1.定義:
乙個有n個元素的排列,若乙個排列中所有的元素都不在自己原來的位置上,那麼這樣的排列就稱為原排列的乙個錯排。 n個元素的錯排數記為d(n)。
2.推導(遞推):
首先將第乙個元素錯排,假設將第乙個元素放到第k位,那麼對於第k位的元素,有兩種情況
1.k放在第1位,此時相當於對處第1位與第k位的n-2個元素錯排,方案數d(n-2)
2.k不放在第1位,此時可以看做將第k位與第1位交換,對除第k位以外的元素進行錯排,方案數d(n-1)
考慮k有n-1種選擇,遞推式為 :d(
n)=(
n−1)
(d(n
−1)+
d(n−
2))3.模板
問題:十本不同的書放在書架上。現重新擺放,使每本書都不在原來放的位置。有幾種擺法?
#include
#include
using namespace std;
long long a[10008];
void f()
int main()
return 0;
}
: d(n
)=(n
−1)(
d(n−
1)+d
(n−2
))d(
n)=(
n−1)
(d(n
−1
遞迴 錯排公式
這個問題推廣一下,就是錯排問題,是組合數學中的問題之一。考慮乙個有n個元素的排列,若乙個排列中所有的元素都不在自己原來的位置上,那麼這樣的排列就稱為原排列的乙個錯排。n個元素的錯排數記為d n 研究乙個排列錯排個數的問題,叫做錯排問題或稱為更列問題。錯排問題最早被尼古拉 伯努利和尤拉研究,因此歷史上...
錯排公式詳解
在hdu刷題時遇到了關於錯排公式的一些問題。本篇文章將詳細解釋錯排公式的推導過程。錯排的定義 一段序列中一共有n個元素,那麼可知這些元素一共有n 種排列方法。假如在進行排列時,原來所有的元素都不在原來的位置,那麼稱這個排列為錯排。而錯排數所指的就是在一段有n個元素的序列中,有多少種排列方式是錯排。遞...
錯排公式 詳細解答
錯排問題 錯排問題 就是一種遞推式,不過它比較著名且常用,所以要熟記!錯排問題 有n個正整數1,2,3,n,將這n個正整數重新排列,使其中的每乙個數都不在原來的位置上,這種排列稱為正整數1,2,3,n的錯排,問這n個正整數的排個數是多少?設這n個正整數的錯排個數為an,為了探求an的表示式,我們先從...