[笔记] 错排问题 #错排

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

错排问题:

一个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重新进行配对。因为每个元素不能放在自己对应的位置上,这个组合刚好又满足这个条件)
相关推荐
Christo328 分钟前
TFS-2022《A Novel Data-Driven Approach to Autonomous Fuzzy Clustering》
人工智能·算法·机器学习·支持向量机·tfs
木木子999933 分钟前
超平面(Hyperplane)是什么?
算法·机器学习·支持向量机·超平面·hyperplane
sakabu44 分钟前
cJSON库应用
c语言·笔记·学习
星空下的曙光2 小时前
React 虚拟 DOM Diff 算法详解,Vue、Snabbdom 与 React 算法对比
vue.js·算法·react.js
♞沉寂2 小时前
数据结构——双向链表
数据结构·算法·链表
大阳1232 小时前
数据结构2.(双向链表,循环链表及内核链表)
c语言·开发语言·数据结构·学习·算法·链表·嵌入式
CUC-MenG3 小时前
2025牛客多校第六场 D.漂亮矩阵 K.最大gcd C.栈 L.最小括号串 个人题解
c语言·c++·算法·矩阵
2401_876221344 小时前
Tasks and Deadlines(Sorting and Searching)
c++·算法
奈斯。zs4 小时前
JavaWeb02——基础标签及样式(黑马视频笔记)
前端·笔记·html
Olrookie4 小时前
若依前后端分离版学习笔记(五)——Spring Boot简介与Spring Security
笔记·后端·学习·spring·ruoyi