对错排递推式的理解

错排问题与递推式的推导:

错排递推式:D[n]=(n-1)(D[n-1]+D[n-2])
说明:
有一个形象的例子可以说明何为错排:十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?
将问题推广便得到错排问题,也就是求使N个数全不在自己位置上的方法数。令Dn代表N种不同物品错排的方法数,那么这个错排公式该如何推导呢?
我们令1—–N这N个数最初顺序摆放在他们原有的位置:(也就是最初完全有序)
推导:
想要求N个数错排,可以这样考虑:
当加入第N个数,对第N个数进行错排时,我们假设把他放到K位置上(1<=K<=n-1),此时的N已经完成错排,K有两种去向:

(1)K放到N的位置上,相当于K与N二者互换位置完成错排。因为二者位置已经固定,因此错排的结果也就是N-2个元素错排的结果:D[N-2];

(2)K不放在N的位置上。因为N的位置已经固定,因此我们无需再考虑N(此时K还没有地方放,自己的位置被占了,N的位置也不能去)。因为K不能放在N处,所以我们可以把N处看作K的初始位置,对于除了N的其他元素来说,他们全在自己的初始位置,因此要进行错排:D[N-1];

又因为N有(N-1)个位置可选,因此最后结果要乘以(N-1)
这样我们就得出了错排递推式:
                           D[n] =(n-1)*(D[n-1]+D[n-2])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值