[笔记] 错排问题 #错排

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

错排问题:

一个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 -- kk -- i(互换位置),那么将这两个组合剔除,
    剩下的n - 2个元素将继续进行错位排序,共D[n - 2]种方案。
  2. i -- k,但k !- i,那么我们将i -- k这个组合剔除,
    剩下的这n - 1个元素继续进行错位排序,共D[n - 1]种方案。
    (将第k个位置与i重新进行配对。因为每个元素不能放在自己对应的位置上,这个组合刚好又满足这个条件)
相关推荐
Voyager_41 小时前
算法学习记录03——二叉树学习笔记:从两道题看透后序位置的关键作用
笔记·学习·算法
我先去打把游戏先3 小时前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
我搞slam6 小时前
快乐数--leetcode
算法·leetcode·哈希算法
WWZZ20257 小时前
快速上手大模型:机器学习3(多元线性回归及梯度、向量化、正规方程)
人工智能·算法·机器学习·机器人·slam·具身感知
四谎真好看8 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
东方佑8 小时前
从字符串中提取重复子串的Python算法解析
windows·python·算法
西阳未落8 小时前
LeetCode——二分(进阶)
算法·leetcode·职场和发展
通信小呆呆8 小时前
以矩阵视角统一理解:外积、Kronecker 积与 Khatri–Rao 积(含MATLAB可视化)
线性代数·算法·matlab·矩阵·信号处理
报错小能手9 小时前
linux学习笔记(45)git详解
linux·笔记·学习
CoderCodingNo9 小时前
【GESP】C++四级真题 luogu-B4068 [GESP202412 四级] Recamán
开发语言·c++·算法