错排问题
错排问题是组合数学中的问题之一。一个含有n个元素的排列,若这个排列中所有的元素都不在自己原来的位置上,那么这样的一个排列就是原排列的一个错排。
求解方法
对于情况较少的排列,可以使用枚举法。
当n=1时,只有一种排列情况且不是错排,D1=0;
当n=2时,全排列有两种,1、2和2、1,后者是错排,D2=1;
当n=3时,全排列有3!=6种,错排有两种,D3=2;
D4=9、D5=44、D6=265……
对于排列数比较多时,枚举的方法就不合适了,可以用递推思想推导。
当n>=3时,我们假设数字n在第k个位置上,这时k必须满足1≤k≤n-1。此时有两种情况:
1.数字k在第n个位置上时,n和k唯一确定了,且满足错排条件。剩下n-2个数字,即Dn-2;
2.数字k不在第n个位置上,此时有n-1个数字的错排情况,即Dn-1;
所以对于每一种确定的k值,有Dn=Dn-1+Dn-2,又由于k有n-1个符合的值,所以最终结论是
Dn=(n-1)*(Dn-1+Dn-2)
例题
hdu2048——基础题
hdu2049——简单应用,组合数+错排