【算法】错排——错误引发的讨论
来源:互联网 发布:excel重复数据高亮 编辑:程序博客网 时间:2024/05/16 11:29
错排问题也是见过许多次了
每一次都感觉到无从下手
不过这次找了个时间专门研究了一下
【杭电】[2048]神、上帝以及老天爷
百度百科:
全错位排列——百度百科
错排公式——百度百科
错位重排——百度百科
核心递归公式
f(n)=(n-1) {f(n-1)+f(n-2)}
方法一:
n各有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。任给一个n,求出1,2,……,n的错排个数Dn共有多少个。
递归关系式为:D(n)=(n-1)(D(n-1)+D(n-2))
D(1)=0,D(2)=1
可以得到:
错排公式为 f(n) = n![1-1/1!+1/2!-1/3!+……+(-1)^n*1/n!]
其中,n!=1*2*3*…..*n,
特别地,有0!=0,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位置为元素,可以放到1位置中),于是形成(包括 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) 。证毕。
- 【算法】错排——错误引发的讨论
- 【算法】欧几里得——GCD引发的讨论
- “高清炮”引发的讨论
- 一块牛肉干引发的大讨论——说说大数据时代的精准营销
- 通才还是专才——由摩托裁员引发的讨论
- 算法——错排问题
- 毕业设计—排课算法
- 纠错一个Python程序引发的讨论
- 一个简单C程序引发的讨论
- 由一个贴子引发的讨论
- 培训经理辞职引发的讨论
- 培训经理辞职引发的讨论
- 一道C语言题目引发的讨论
- 一次单元测试讨论引发的奇想
- 一个虚析构函数引发的讨论
- 计算熵引发的一些讨论
- / 引发的错误
- snprintf引发的错误
- 谁将引领未来高清音频!杜比TrueHD对比DTS-HD
- Spring Bean装配:Bean注解实现以及定义
- Java接口与抽象(学习笔记)
- API接口非幂等性问题及使用redis实现简单的分布式锁
- mybatis--map映射文件 标签详解
- 【算法】错排——错误引发的讨论
- 搭建云服务器--移动应用开发
- 从堆栈快速定位出错的代码行
- uvalive 4992 半平面交
- 关联规则挖掘算法Aprior和FPGrowth对比与改进
- NAT工作原理
- http://lib.csdn.net
- java学习日记——super关键字
- TextView实现跑马灯效果