递推之错排公式

这是在课本上有的一道题,自己认为是初级递推里比较难想进去的题了(对我这个小白来说),就此参考各方资源,归纳一下。


错排问题(全错位排列问题 Derangement)

概念:
考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。

典型例子:
1. 一个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,都装错信封的装法有多少种(历史有名的“装错信封问题”);
2. 将一排书重新摆放,要求每本书都不摆在原来的位置,一共有几种不同的摆法;
3. [SDUT 2058] 小厮将每一封信都投错了烽火台(一个烽火台一封),一共有多少种可能的情况;
4. 几个人各写一张贺年卡互相赠送,共有多少种赠送方法(因为不能送自己)。

错排公式

组合数学上的错排公式:
D(n) = n! [(-1)^2/2! + … + (-1)^(n-1)/(n-1)! + (-1)^n/n!]
简化版本:
D(n) = [n!/e+0.5] ,其中e是自然对数的底,[x]为x的整数部分

这个公式放这里目前就用来涨涨自己的见识。它可以通过容斥原理来推导,也可以通过递推推导,而递推公式即我们的重点。

递推推导过程

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

  • 第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

  • 第二步,放编号为k的元素,这时有两种情况:
    ⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;
    ⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;

  • 综上得到
    D(n) = (n-1) [D(n-2) + D(n-1)]
    特殊地,D(1) = 0, D(2) = 1

代码实现

int D(int n)
{
    if (n == 0 || n == 1)
        return 0;
    else if (n == 2)
        return 1;
    else
        return (n-1) * (D(n-2) + D(n-1));
}
一、基础信息数据集名称:室内家具与物品实例分割数据集 图片数量: - 训练集:4,923张图片 - 验证集:3,926张图片 - 测试集:985张图片 - 总计:9,834张室内场景图片 分类类别: - bed(床):常见家具,用于休息和睡眠。 - chair(椅子):坐具家具,支持日常活动。 - couch(沙发):长沙发,常见于客厅,提供舒适坐卧。 - fireext(灭火器):消防设备,用于应急安。 - person(人):人类个体,涵盖多种姿态。 - potted plant(盆栽植物):室内装饰植物,增添环境美感。 - refrigerator(冰箱):家用电器,用于食物存储。 - table(桌子):家具,用于放置物品和支撑活动。 - trashbin(垃圾桶):废物容器,促进环境卫生。 - tv(电视):娱乐设备,常见于家庭媒体中心。 标注格:YOLO格,包含实例分割的多边形坐标,适用于实例分割任务。 数据格:图片数据,来源于室内环境采集,涵盖多种场景和角度。 二、适用场景智能家居与自动化系统开发: 数据集支持实例分割任务,可用于构建AI模型,自动识别和分割家庭中的物品,实现智能控制、环境感知和自动化管理。 服务机器人导航与交互: 帮助机器人在室内环境中精确识别物体(如家具和电器),进行路径规划、物体操作和场景理解,提升机器人自主性。 室内安防与监控应用: 集成至监控系统,检测和分割特定物品(如灭火器、人)或异常情况,增强安分析和预警能力。 计算机视觉学术研究: 支持实例分割、物体识别和场景理解算法的开发与评估,适用于学术论文、实验验证和创新项目。 三、数据集优势类别多样且实用: 覆盖10个常见室内物品类别,包括家具、电器和安设备,确保数据涵盖日常场景,提升模型泛化能力。 高质量实
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值