错位排列——杨子曰数学

超链接:数学合集


首先,什么是错位排列?

就是你有1号物品,2号物品,3号物品……,它们都有自己对应的箱子:1号箱,2号箱,3号箱……

现在你把物品放到箱子里,结果一个物品也没有放对,全部都放错了,那么这个时候这些物品所构成的排列就被称为错位排列

接下来,我们来讨论错位排列怎么求,来简单推导一下错位排列总数的递推

我们用D[i]表示i个物品的错位排列总数

来看看D[n]怎么算,我们现在有n个物品,n个箱子:

我们来考虑第1个物品,它只要不放到第一个箱子就行,So,有(n-1)种选择

比方说我们把它放到2号箱子

现在我们来考虑2号物品怎么处理

我们要进行分类讨论了

  1. 2号物品放到1号箱子
    一旦把2号物品放到1号箱子中以后,有没有发现剩下的3~n号物品就是一个新的错位排列了

    So,这种情况有D[n-2]种选法

  2. 2号物品不放到1号箱子
    2号物品不能放到1号箱子,那么这时的1号箱子,就相当于问题最开始的2号箱子,都不能装2号物品
    于是你有没有发现,红框里又是一个新的错位排列问题了

    那么这种情况就有D[n-1]种选法了

然后1号物品除了放在2号箱子,还可以放在3号,4号……共(n-1)种选择

综上所述,D[n]=(n−1)∗(D[n−1]+D[n−2])D[n]=(n-1)*(D[n-1]+D[n-2])D[n]=(n−1)∗(D[n−1]+D[n−2])


一个小小的递推公式无法满足我们的要求,接下来我们来推导它的通项公式

D[n]=(n−1)∗(D[n−1]+D[n−2])D[n]=(n-1)*(D[n-1]+D[n-2])D[n]=(n−1)∗(D[n−1]+D[n−2])
⟹D[n](n−1)!=D[n−1](n−2)!+D[n−2](n−2)!\Longrightarrow\frac{D[n]}{(n-1)!}=\frac{D[n-1]}{(n-2)!}+\frac{D[n-2]}{(n-2)!}⟹(n−1)!D[n]​=(n−2)!D[n−1]​+(n−2)!D[n−2]​
令N[n]=D[n]n!则n∗N[n]=(n−1)∗N[n−1]+N[n−2]令N[n]=\frac{D[n]}{n!}\ \ \ 则n*N[n]=(n-1)*N[n-1]+N[n-2]令N[n]=n!D[n]​   则n∗N[n]=(n−1)∗N[n−1]+N[n−2]
⟹N[n]=N[n−1]−N[n−1]n+N[n−2]n\Longrightarrow N[n]=N[n-1]-\frac{N[n-1]}{n}+\frac{N[n-2]}{n}⟹N[n]=N[n−1]−nN[n−1]​+nN[n−2]​
⟹N[n]−N[n−1]=−1n∗(N[n−1]−N[n−2])\Longrightarrow N[n]-N[n-1]=-\frac{1}{n}*(N[n-1]-N[n-2])⟹N[n]−N[n−1]=−n1​∗(N[n−1]−N[n−2])
令H[n]=N[n+1]−N[n]则H[n−1]=−1n∗H[n−2]令H[n]=N[n+1]-N[n]\ \ \ 则H[n-1]=-\frac{1}{n}*H[n-2]令H[n]=N[n+1]−N[n]   则H[n−1]=−n1​∗H[n−2]
又H[1]=N[2]−N[1]=D[2]2−D[1]1=12又H[1]=N[2]-N[1]=\frac{D[2]}{2}-\frac{D[1]}{1}=\frac{1}{2}又H[1]=N[2]−N[1]=2D[2]​−1D[1]​=21​
⟹H[n]=(−1)n−1∗1(n+1)!\Longrightarrow H[n]=(-1)^{n-1}*\frac{1}{(n+1)!}⟹H[n]=(−1)n−1∗(n+1)!1​
⟹N[n]−N[n−1]=H[n−1]=(−1)n∗1n!\Longrightarrow N[n]-N[n-1]=H[n-1]=(-1)^n*\frac{1}{n!}⟹N[n]−N[n−1]=H[n−1]=(−1)n∗n!1​
又N[1]=D[1]1=0又N[1]=\frac{D[1]}{1}=0又N[1]=1D[1]​=0
⟹N[n]=12!−13!+⋯+(−1)n∗1n!\Longrightarrow N[n]=\frac{1}{2!}-\frac{1}{3!}+\cdots+(-1)^n*\frac{1}{n!}⟹N[n]=2!1​−3!1​+⋯+(−1)n∗n!1​
⟹D[n]=n!∗(12!−13!+⋯+(−1)n∗1n!)\Longrightarrow D[n]=n!*(\frac{1}{2!}-\frac{1}{3!}+\cdots+(-1)^n*\frac{1}{n!})⟹D[n]=n!∗(2!1​−3!1​+⋯+(−1)n∗n!1​)

OK,完事

参考:
https://bubbleioa.blog.luogu.org/solution-p4071

于HG机房

错位排列——杨子曰数学相关推荐

  1. 数学合集——杨子曰数学

    数学合集--杨子曰数学 这两天写了一堆数学的博客,汇总一下: 数论: 欧几里得算法和扩展欧几里得算法 欧拉函数,欧拉定理(费马小定理),扩展欧拉定理的证明和应用 逆元 中国剩余定理 欧拉筛和筛法求欧拉 ...

  2. 1+2+3+...∞=-1/12?——杨子曰数学

    1+2+3+-∞=-1/12?--杨子曰数学 超链接:数学合集 1+2+3+-∞=-1/12?哦哦哦,第一次看到我惊了щ(ʘ╻ʘ)щ,不科学啊!一堆正整数居然加出了一个负分数,Oh My God,绝对 ...

  3. 威尔逊定理证明——杨子曰数学

    威尔逊定理证明--杨子曰数学 超链接:数学合集 这是一个很没有用的定理(没有任何实际应用价值,(´ー∀ー`)): ( p − 1 ) ! ≡ p − 1 ( m o d p ) ( p 为 质 数 ) ...

  4. 欧几里得算法和扩展欧几里得算法——杨子曰数学

    欧几里得算法和扩展欧几里得算法--杨子曰数学 超链接:数学合集 不说废话,咱们直接开始 欧几里得算法 一句话: g c d ( a , b ) = g c d ( b , a m o d b ) gc ...

  5. 海伦公式的证明——杨子曰数学

    海伦公式的证明--杨子曰数学 超链接:数学合集 瞎BB:我之所以会推这样一篇博客是为了练习一下MarkDown数学公式的语法 再瞎BB一句:不要一提到海伦,脑子里就浮现出一个女人的画面,这里的海伦是一 ...

  6. LeetCode-Python-634. 寻找数组的错位排列(数学 + 错排公式)

    在组合数学中,如果一个排列中所有元素都不在原先的位置上,那么这个排列就被称为错位排列. 给定一个从 1 到 n 升序排列的数组,你可以计算出总共有多少个不同的错位排列吗? 由于答案可能非常大,你只需要 ...

  7. 经典算法题:全错位排列问题

    问题描述 这是一个很经典的数学问题:有一个人写了n封信件,对应n个信封,然而粗心的秘书却把所有信件都装错了信封,那么一共有多少种装错的装法? 数学抽象 这个问题可抽象为以下一个数学问题:已知一个长度为 ...

  8. html错位排列,解决“错位排列”问题的一般方法

    问题同室四人各写一张贺年卡,先集中起来,然后每人从中拿一张别人送来的贺年卡,则四张贺年卡不同的分配方式有(). A.6种B.9种C.11种D.23种 这个问题等价于:将1,2,3,4这四个正整数分别填 ...

  9. html错位排列,错位排列的一个计算公式

    错位排列的一个计算公式 本文借助于矩阵的积和式 (本文共4页) 阅读全文>> 根据三次图的结构特点,在R-NW算法和Hybrid方法的基础进行改进,得到了一种更快的计算其... (本文共4 ...

最新文章

  1. 福利丨吴恩达机器学习新书免费领!
  2. JAVA线程池原理以及几种线程池类型介绍
  3. flex 设置换行flex-wrap
  4. delphi json
  5. 先有鸡还是先有蛋?--IT公司用人困惑
  6. Sublime插件开发 启动Anaconda并运行对应Python脚本
  7. Codeforces - 961E Tufurama
  8. 豪斯荷尔德变换 matlab,隐式QR法求实矩阵的全部特征值matlab实现
  9. python rs232_使用Python進行RS-232通信返回垃圾信息
  10. DCMTK DCMSCU例子
  11. java面向对象_谈谈Java的面向对象
  12. 机器学习--线性回归4(线性拟合、局部线性拟合实战)
  13. 几个值得收藏windows软件
  14. Windows Phone 模拟器 (WPR Alpha 0.0.1 WP7/8模拟器) XAP XNA文件使用教程
  15. c语言封皮,C语言程序设计封皮.doc
  16. AXI5 new feature: support atomic transaction
  17. vmware14下安装win7x64
  18. 做不到想做的,真难受~
  19. 《Kinect应用开发实战:用最自然的方式与机器对话》一3.5 从深度图像到骨骼图...
  20. 2021-2027全球与中国含氮饮料市场现状及未来发展趋势

热门文章

  1. 绿地深蓝机器人_人工智能国家队再获加持,国有世界五百强绿地控股战略投资深兰科技...
  2. 利维坦周报——2019年7月7日
  3. 喜报|众享比特再次中标南网科研院区块链项目
  4. 用双重for循环做9*9乘法表
  5. Windows10家庭版如何获取administrators的权限
  6. 仿饿了么订餐外卖源码免费试用
  7. wdr5620千兆版虚拟服务器,TPLINK WDR5620千兆版与斐讯K2P对比评测
  8. 华为 MateView USB-C接口显示器,究竟有什么妙用?
  9. 【清华大学】操作系统 陈渝——Part6 全局页面置换算法
  10. 知乎基于 Apache Doris 的 DMP 平台架构建设实践|万字长文详解