错排问题
来源:互联网 发布:瓶中船的制作材料淘宝 编辑:程序博客网 时间:2024/04/30 14:17
错排问题的描述:n个有序的元素有n!中不同的排列。若一个排列使得所有的元素都不在原来的位置上,则称这个排列为错排。那么问题来了!!!给出n,错排方案的数目为多少?设n个数错排方案数为D[n]。
错排问题可以使用递推的方法解决:
从1,2,……,n,数i分别与其他n-1个数之一互换,其余n-2个数进行错排,共得到(n-1)*D[n-2]。另一部分为数i意外的n-1个数进行错排,然后i与其中每一个数互换得(n-1)*D[n-1]个错排。然后又加法原理得出递归关系式:
D[n] = (n-1)*(D[n-1] + D[n-2]) ,D[1]=0,D[2]=1
注意:当n很大时,D[n]可能会很大,有时需要用long long 或高精度整数。
相关的题目:hdu 1465 ; hdu 2048;hdu 2049;hdu 2068等。
1 0
- 错排问题
- 错排问题
- 错排问题
- 错排问题
- 错排计数问题
- 错排问题
- 错排 问题
- 错排问题:
- 错排问题
- 错排问题
- 错排问题
- 浅析错排问题
- 错排问题
- 错排问题--十二金钗
- 错排问题
- 错排问题
- 错排问题
- 【转载】错排问题
- C++ 代码重用 ---包含
- iOS Missing iOS Distribution signing identity问题解决
- zzz
- 打印两个有序链表的公共部分
- 动态规划——problem q
- 错排问题
- Zookeeper实战之选举
- 区分深拷贝和浅拷贝
- gcd
- JSON和XML区别和优缺点比较
- Linux命令——文件查找命令find
- Dr. Elephant大象医生安装文档
- c++-作业6
- OpenGL学习脚印: 二维纹理映射(2D textures)