错排递推公式
来源:互联网 发布:大秦帝国之崛起 知乎 编辑:程序博客网 时间:2024/05/16 19:37
f(n)=(n-1)*(f(n-2)+f(n-1));
编号为 1 , 2 ,……, n 的 n 个元素排成一列,若每个元素所处位置的序号都与它的编号不同,则称这个排列为 n 个不同元素的一个错排。记 n 个不同元素的错排总数为 f(n) ,则f(n) = n![1-1/1!+1/2!-1/3!+……+(-1)^n*1/n!]( 1 )
本文从另一角度对这个问题进行一点讨论。
1. 一个简单的递推公式
n 个不同元素的一个错排可由下述两个步骤完成:
第一步,“错排” 1 号元素(将 1 号元素排在第 2 至第 n 个位置之一),有 n - 1
种方法。
第二步,“错排”其余 n - 1 个元素,按如下顺序进行。视第一步的结果,若 1
号元素落在第 k 个位置,第二步就先把 k 号元素“错排”好, k
号元素的不同排法将导致两类不同的情况发生:( 1 ) k 号元素排在第 1
个位置,留下的 n - 2 个元素在与它们的编号集相等的位置集上“错排”,有 f(n -2)
种方法;( 2 ) k 号元素不排第 1 个位置,这时可将第 1 个位置“看成”第 k
个位置,于是形成(包括 k 号元素在内的) n - 1 个元素的“错排”,有 f(n - 1)
种方法。据加法原理,完成第二步共有 f(n - 2)+f(n - 1) 种方法。
根据乘法原理, n 个不同元素的错排种数
f(n) = (n-1)[f(n-2)+f(n-1)] (n>2) 。 ( 2 )
某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封,共有多少种不同情况。
当N=1和2时,易得解~,假设F(N-1)和F(N-2)已经得到,重点分析下面的情况:
1.当有N封信的时候,前面N-1封信可以有N-1或者 N-2封错装。
2.前者,对于每一种错装,可以从N-1封信中任意取一封和第 N封错装,故=F(N-1) * (N-1)。
3.后者简单,只能是没装错的那封信和第N封信交换信封,没装错的那封信可以是前面N-1封信中的任意一个,故= F(N-2) * (N-1)。
基本形式:d[1]=0; d[2]=1 递归式:d[n]= (n-1)*( d[n-1] + d[n-2])
这就是著名的错排公式。
- 错排递推公式
- 错排递推公式的证明
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- [数组公式] 数组公式
- 三角公式+菲涅尔公式
- 数论公式--斯大林公式
- 爱情公式
- 胸围公式
- 人生公式
- 宇宙公式
- iOS真机测试需要导入的文件
- Android单线程模型中Message、Handler、Message Queue、Looper之间的关系---附实例源码
- JSP 自动点击超链接
- 不打开另一个工作簿取它里面的工作表名 (使用数据库引擎)
- 进程隐藏与进程保护(SSDT Hook 实现)(二)
- 错排递推公式
- 2015年AP延期考试信息,你看懂了么?
- 进程隐藏与进程保护(SSDT Hook 实现)(三)
- 数据库多表连接查询
- bestCoder 百度之星程序设计资格赛 1005下棋
- [前端] JS控制音乐播放
- 博客搬家:www.915hm.com
- [然而这并没有什么卵用(划掉)]IBM Bluemix云虚拟机·初·夜·尝鲜记
- win7+linux双系统下删除linux系统