[笔记] 错排问题 #错排

参考:刷题笔记-错排问题总结

错排问题:

一个n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的一个排列就称为原排列的一个错排。而研究一个排列的错排个数的问题,就称为错排问题(或称为更列问题)。
错排公式:
D[1]=0;
D[2]=1;
D[n]=(n-1)(D[n-1]+D[n-2])

推导:

对于第i个元素,若不在自己的位置上,则有n - 1种情况,取其中一种进行分析:

不充设定:取x -- y为第x个元素分到了第y个元素的位置上

  1. 若i -- k 且k -- i(互换位置),那么将这两个组合剔除,
    剩下的n - 2个元素将继续进行错位排序,共D[n - 2]种方案。
  2. 若i -- k,但k !- i,那么我们将i -- k这个组合剔除,
    剩下的这n - 1个元素继续进行错位排序,共D[n - 1]种方案。
    (将第k个位置与i重新进行配对。因为每个元素不能放在自己对应的位置上,这个组合刚好又满足这个条件)
相关推荐
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特4 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
深圳老胡4 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark4 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her14 天前
并查集-听课笔记
笔记·算法·并查集
码流子4 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试