• 经典递推问题错排公式分析


    问题: 十本不同的书放在书架上。

    现又一次摆放,使每本书都不在原来放的位置。有几种摆法?

    这个问题推广一下,就是错排问题,是组合数学中的问题之中的一个。

    考虑一个有n个元素的排列,若一个排列中全部的元素都不在自己原来的位置上,那么这种排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。

    研究一个排列错排个数的问题。叫做错排问题或称为更列问题。

    错排问题最早被尼古拉·伯努利和欧拉研究,因此历史上也称为伯努利-欧拉的装错信封的问题。

    这个问题有很多详细的版本号。如在写信时将n封信装到n个不同的信封里,有多少种所有装错信封的情况?又比方四人各写一张贺年卡互相赠送,有多少种赠送方法?自己写的贺年卡不能送给自己,所以也是典型的错排问题。

    以信封问题为例:

       1、当N=12时,易得解~,如果F(N-1)F(N-2)已经得到,重点分析以下的情况:

       2、当有N封信的时候,前面N-1封信能够有N-1或者 N-2封错装。
    3、前者,对于每种错装,可从N-1封信中随意取一封和第N封错装,故=F(N-1)*(N-1)
    4、后者简单,仅仅能是没装错的那封和第N封交换信封,没装错的那封能够是前面N-1封中的随意一个。故=F(N-2) * (N-1)。

    递归式:d[n]= (n-1)*( d[n-1]+ d[n-2]),

                                                                                                     特殊地,D(1) = 0, D(2) = 1.

  • 相关阅读:
    ASP.NET MVC 部分视图
    IIS7.5安全配置研究
    微信公众号抢现金红包活动的核心代码分析(asp.net C#)
    [Android] hid设备按键流程简述
    [Android] AudioTrack::start
    [Android] createTrack_l
    [Android] 输入系统(三):加载按键映射
    [Android] 获取音频输出getOutput
    [Android] AudioTrack实例
    [Android] 输入系统(二)
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6890818.html
Copyright © 2020-2023  润新知