zoukankan      html  css  js  c++  java
  • 排列组合及基本计数原理

    排列

    从n个不同元素中,任取m个元素按照一定的顺序排成一列(m≤n,m与n均为自然数,下同),叫做从n个不同元素中取出m个元素的一个排列.

    从n个不同元素中取出m个元素的所有排列的个数(m≤n),叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。

    A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!

    此外规定 0!=1 (n!表示n(n-1)(n-2)...1, 也就是6!=6x5x4x3x2x1

     

    组合

    从n个不同元素中,任取m个元素并成一组(m≤n),叫做从n个不同元素中取出m个元素的一个组合.

    从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数, 用符号 C(n,m) 表示。

    C(n,m)=A(n,m)/m!

    C(n,m)=C(n,n-m), (n≥m)

     

    加法原理和分类计数法

    ⒈加法原理:做一件事,完成它可以有n类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+m3+…+mn种不同方法。

    ⒉第一类办法的方法属于集合A1,第二类办法的方法属于集合A2,……,第n类办法的方法属于集合An,那么完成这件事的方法属于集合A1UA2U…UAn。

    ⒊分类的要求 :每一类中的每一种方法都可以独立地完成此任务;两类不同办法中的具体方法,互不相同(即分类不重);完成此任务的任何一种方法,都属于某一类(即分类不漏)。

     

    乘法原理和分步计数法

    ⒈ 乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法,那么完成这件事共有N=m1×m2×m3×…×mn种不同的方法。

    ⒉合理分步的要求: 任何一步的一种方法都不能完成此任务,必须且只须连续完成这n步才能完成此任务;各步计数相互独立;只要有一步中所采取的方法不同,则对应的完成此事的方法也不同。

     

    来源

    ====================

    排列组合

    http://baike.baidu.com/view/738955.htm

  • 相关阅读:
    u-boot.lds分析
    u-boot的makefile中的一些目录的设定,以及涉及的shell,make语法。
    u-boot入门第一步,分析mkconfig
    uboot学习——Makefile里的echo使用!
    Linux下的打包与压缩和tar命令!
    关于undefined reference的问题
    JZ2440 编译Uboot1.1.6 undefined reference to ‘raise’
    POJ 1094 Sorting It All Out
    链式前向星
    Codeforces Round #197 (Div. 2) A~D
  • 原文地址:https://www.cnblogs.com/awpatp/p/3810010.html
Copyright © 2011-2022 走看看