zoukankan      html  css  js  c++  java
  • 关于错排

    错排详解

    一、        错排原理的分析

    第一步:将编号为1的元素放在第2到第n个位置之上:有n-1种方法

    第二步:错排余下的n-1个元素

    1、若1号元素划等号在第k个位置,第二步就是把K这个元素排好(因为K元素相对应的位置上已经被1给占领了)。如果恰好K这个元素也排在了1的位置上,那么接下来的n-2个元素在与它们的编号相等的位置上再进行错排:有f(n-2)种方法

    2、若K这个元素恰巧没排在第1个位置上。这时可将第1个位置“看成”第K个位置,于是就还余下n-1个元素的错排,有f(n-1)种方法。

     

    二、错排情况的公式:

    根据乘法原理可以得到有N个元素时的错排情况公式有:(n-1)*[(f-2)+(f-1)]  [n>2]

     

    三、错排原理的模拟:信封

    1封信封   不存在着错排的情况:所有情况为0

     

    2封信封   只有如下一种情况:

     

    3封信封  两种情况

     

    4封信封

    对1 号信封做特殊处理,1号信封不放在1号位置的可能有3种情况。即(4-1)

    然后再分情况讨论:

    1、若1号信封刚好放在3的位置上,而3号信封又刚好放在1的位置上,那么就只能有2、4的错排也就是2只能放在4  4只能放在2上也就是f(n-2)也就是两个元素的错排情况:f(4-2)=1[由上面的分析得出]情况:

    2、若1号信封放在3的位置上,而3号信封不知道放在哪,也就是还剩下3封信封的错排情况:f(3)的情况也就是3封信封的错排情况

     

    于是得到:4封信封的错排方法有:3*(1+2)=9种

    根据乘法原理:(n-1)*[(f-2)+(f-1)]  [n>2]

  • 相关阅读:
    XOR Clique
    Live Love
    Wannafly挑战赛24 A:石子游戏
    洛谷 P1060 :开心的金明
    洛谷P1049: 装箱问题
    牛客练习赛26 A:平面
    hihoCoder1151: 骨牌覆盖问题·二
    hihoCoder1143:骨牌覆盖问题·一
    hihoCoder1051 : 补提交卡
    TCP Socket的通讯框架
  • 原文地址:https://www.cnblogs.com/pcry/p/5717306.html
Copyright © 2011-2022 走看看