【学习笔记】错排问题

错排问题

给定 n 个信封 n 封信,信封和信的配对形成双射

求有多少种将信乱放到信封中的方案使得所有双射无一被满足

Solution

尝试使用容斥原理刻画这个问题的计算模型:枚举有几个元素是放到合法位置上的,表达式如下:

i=0n(1)k(ni)(ni)!

验证其正确性大可考察每个不合法方案的计算次数,本文不再赘述

Dn 表示上述问题在信封个数为 n 时的答案,尝试对 D 数列进行进一步探究

将上面的式子展开不难得到

Dn=n!i=0n(1)i1i!limnDn=n!e

但是这个式子看起来并不能给予我们正整数形式的答案,尝试省略一些信息:在 n 有限时按照上面的容斥原式只保留 ex(x=1) 展开式中 in 的部分

保留泰勒展开式中的 Lagrange 余项可以得到形如下式的结果

Dn=n!(1e(1)n+1eε(n+1)!)

根据余项的定义此时有 ε (1,0) 所以后面的部分满足

|(1)n+1n!eε(n+1)!|=eεn+11n+112

这就证明了 |n!eDn|12 ,而绝对值符号内的减数和被减数的大小是不易界定的(取决于 n 的奇偶性)

那么使用四舍五入来计算即可

posted @   没学完四大礼包不改名  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示