错位排列——杨子曰数学
超链接:数学合集
首先,什么是错位排列?
就是你有1号物品,2号物品,3号物品……,它们都有自己对应的箱子:1号箱,2号箱,3号箱……
现在你把物品放到箱子里,结果一个物品也没有放对,全部都放错了,那么这个时候这些物品所构成的排列就被称为错位排列
接下来,我们来讨论错位排列怎么求,来简单推导一下错位排列总数的递推
我们用D[i]表示i个物品的错位排列总数
来看看D[n]怎么算,我们现在有n个物品,n个箱子:
我们来考虑第1个物品,它只要不放到第一个箱子就行,So,有(n-1)种选择
比方说我们把它放到2号箱子
现在我们来考虑2号物品怎么处理
我们要进行分类讨论了
-
2号物品放到1号箱子
一旦把2号物品放到1号箱子中以后,有没有发现剩下的3~n号物品就是一个新的错位排列了
So,这种情况有D[n-2]种选法 -
2号物品不放到1号箱子
2号物品不能放到1号箱子,那么这时的1号箱子,就相当于问题最开始的2号箱子,都不能装2号物品
于是你有没有发现,红框里又是一个新的错位排列问题了
那么这种情况就有D[n-1]种选法了
然后1号物品除了放在2号箱子,还可以放在3号,4号……共(n-1)种选择
综上所述,
OK,完事
参考:
https://bubbleioa.blog.luogu.org/solution-p4071
于HG机房