zoukankan      html  css  js  c++  java
  • 2048

    最近做的题都是用公式做的,这个公式实在想不出,在纸上画了画,但是没有耐心继续把n增长,受不了呀,没有找到规律,于是又上网找资料了

    4 错排问题

      错排问题就是n个元素依次给以标号1,2,…,n。N个元素的全排列中,求每个元素都不在自己原来位置上的排列数。 设Ai为数i在第i位上的全体排列,i=1,2,...,n.因数字i不动,故:
    |Ai|=(n-1)!,i=1,2,...,n.
    同理
    |Ai∩Aj|=(n-2)!,i,j=1,2,...n,i≠j.
        ........
    每个元素都不在原来位置上的排列数为:

    [例1]   数1,2,…,9的全排列中,求偶数在原来位置上,其余都不在原来位置的错排数目。
    [解] 实际上是1,3,5,7,9五个数的错排问题,总数为:
    5!-C(5,1)4!+C(5,2)3!-C(5,3)2!+C(5,4)1!-C(5,5)=44.

    [例2] 在8个字母A,B,C,D,E,F,G,H的全排列中,求使A,C,E,G四个字母不在原来位置上的错排数目
    [解] 8个字母的全排列中令A1,A2,A3,A4分别为表A,C,E,G 在原来位置上的排列,则:
    |A1∩A2∩A3∩A4|
    =8!-C(4,1)7!+C(4,2)6!-C(4,3)5!+C(4,4)4!=40320-20160+4320-480+24=24024.

    [例3] 求8个字母A,B,C,D,E,F,G,H的全排列中只有4个元素不在原来位置上的排列数.
    [解] 8个字母中只有4个不在原来的位置上,其余4个字母保持不动,相当于4个元素的错排, 其数目为:
    4!(1-1/1!+1/2!-1/3!+1/4!)=9.
    故8个字母的全排列中有4个不在原来位置上的排列数应为:C(8,4)×9=630.

    当n-1时有F(n-1)种,n时排法有F(n)种,第n个加入的时候
    1.前面n-1可以是全部符合条件的即为F(n-1),第n个可以和前面任意n-1个交换,于是有F(n-1)*(n-1)种;
    2.前面n-1可以是有一项不符合条件,即其余的随意排即为F(n-2),不符合条件的与第n个交换,这样的交换因为不符合条件的项的种类数有n-1种,于是就有F(n-2)*(n-1);
    加起来就是F(n-2)*(n-1)+F(n-1)*(n-1)。

  • 相关阅读:
    哨兵模式(工作中使用)
    JVM调优-考虑方向
    Spring Cloud Gateway+Nacos出现服务乱串的问题记录
    golang笔记-cache组件应用: freecache/groupcache/golang-lru
    C++优化笔记: -O2/-O3/-ffast-math/SIMD
    linux笔记-查看L1/L2/L3 cache大小
    Dom4j 如何输出 Document 中的内容到文本
    是应该是用 Log 还是 Logger 来定义 Log
    IntelliJ IDEA 如何针对Java 代码快速打印 println
    如何用 Java 判断一个给定的数是不是素数
  • 原文地址:https://www.cnblogs.com/anderson0/p/1432741.html
Copyright © 2011-2022 走看看