错排问题:
一个n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的一个排列就称为原排列的一个错排。而研究一个排列的错排个数的问题,就称为错排问题(或称为更列问题)。
错排公式:
D[1]=0;
D[2]=1;
D[n]=(n-1)(D[n-1]+D[n-2])推导:
对于第
i个元素,若不在自己的位置上,则有n - 1种情况,取其中一种进行分析:不充设定:取
x -- y为第x个元素分到了第y个元素的位置上
- 若
i -- k且k -- i(互换位置),那么将这两个组合剔除,
剩下的n - 2个元素将继续进行错位排序,共D[n - 2]种方案。- 若
i -- k,但k !- i,那么我们将i -- k这个组合剔除,
剩下的这n - 1个元素继续进行错位排序,共D[n - 1]种方案。
(将第k个位置与i重新进行配对。因为每个元素不能放在自己对应的位置上,这个组合刚好又满足这个条件)
[笔记] 错排问题 #错排
Y.YL2023-11-22 15:06
相关推荐
遇到困难睡大觉哈哈21 小时前
Harmony os——ArkTS 语言笔记(四):类、对象、接口和抽象类程序员东岸1 天前
《数据结构——排序(中)》选择与交换的艺术:从直接选择到堆排序的性能跃迁程序员-King.1 天前
day104—对向双指针—接雨水(LeetCode-42)神仙别闹1 天前
基于C++实现(控制台)应用递推法完成经典型算法的应用Ayanami_Reii1 天前
进阶数据结构应用-一个简单的整数问题2(线段树解法)Ccjf酷儿1 天前
操作系统 蒋炎岩 4.数学视角的操作系统yinchao1631 天前
EMC设计经验-笔记listhi5201 天前
基于改进SET的时频分析MATLAB实现黑客思维者1 天前
LLM底层原理学习笔记:Adam优化器为何能征服巨型模型成为深度学习的“速度与稳定之王”松☆1 天前
Flutter + OpenHarmony 实战:构建离线优先的跨设备笔记应用