错排公式的推导

简介:

pala提出的问题:十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?

  这个问题推广一下,就是错排问题: n个有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。

  下面用递推的方法推导错排公式:

  当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

  第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

  第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有M(n-2)种方法;2,不把它放到位置n,这时,对于这n-1个元素,有M(n-1)种方法;

  综上得到

  M(n)=(n-1)[M(n-2)+M(n-1)]

  特殊地,M(1)=0,M(2)=1

  下面通过这个递推关系推导通项公式:

  为方便起见,设M(k)=k!N(k), (k=1,2,…,n)

  则N(1)=0,N(2)=1/2

  n>=3时,n!N(n)=(n-1)(n-1)!N(n-1)+(n-1)!N(n-2)

  即nN(n)=(n-1)N(n-1)+N(n-2)

  于是有N(n)-N(n-1)=-[N(n-1)-N(n-2)]/n=(-1/n)[-1/(n-1)][-1/(n-2)]…(-1/3)[N(2)-N(1)]=(-1)^n/n!

  因此

  N(n-1)-N(n-2)=(-1)^(n-1)/(n-1)!

  N(2)-N(1)=(-1)^2/2!

  相加,可得

  N(n)=(-1)^2/2!+…+(-1)^(n-1)/(n-1)!+(-1)^n/n!

  因此

  M(n)=n![(-1)^2/2!+…+(-1)^(n-1)/(n-1)!+(-1)^n/n!]

  可以得到

  错排公式为M(n)=n!(1/2!-1/3!+…..+(-1)^n/n!)


本文转载自海 子博客园博客,原文链接:http://www.cnblogs.com/dolphin0520/archive/2011/04/04/2005093.html如需转载自行联系原作者


相关文章
|
3月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。
|
8月前
|
人工智能
Chain of Draft: 借鉴人类草稿思维让大型语言模型更快地思考
本研究探讨了大型语言模型(LLMs)在复杂推理任务中的计算资源消耗与响应延迟问题,特别是思维链(CoT)提示范式的效率局限性。为解决这一问题,研究引入了Chain of Draft (CoD) 方法论,通过生成简洁、高信息密度的中间输出,模拟人类认知过程。CoD将每步限制在五个单词以内,减少冗余表达,显著降低token消耗和计算成本,同时保持或提升推理准确性。实验结果显示,CoD在多种推理任务中表现出色,大幅减少了token使用量(仅为CoT的7.6%),缩短了响应时间,提升了LLM在实际应用中的效率与实用性。
210 14
Chain of Draft: 借鉴人类草稿思维让大型语言模型更快地思考
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
435 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
11月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
237 14
消费级显卡微调可图Kolors最佳实践!
近期,快手开源了一种名为Kolors(可图)的文本到图像生成模型,该模型具有对英语和汉语的深刻理解,并能够生成高质量、逼真的图像。
|
编译器 Linux C语言
Windows下编译并使用64位GMP
Windows下编译并使用64位GMP
685 0
企业微信api接口调用-企业微信好友收发消息
企业微信api接口调用-企业微信好友收发消息
|
JavaScript
蓝易云 - npm install报错问题解决合集
以上是一些常见的npm install错误及其解决方法,希望对你有所帮助。
380 0
|
运维 Devops
阿里云云效操作报错合集之代码域使用codeup进行本地代码迁移提示 repository does not exist,是什么导致的
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
【Simulink】飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)
【Simulink】飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)