zoukankan      html  css  js  c++  java
  • 排列和组合

    排列与元素的顺序有关,组合与顺序无关.如231与213是两个排列,2+3+1的和与2+1+3的和是一个组合. 
      (一)两个基本原理是排列和组合的基础 
      (1)加法原理:做一件事,完成它可以有n类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+m3+…+mn种不同方法. 
      (2)乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法,那么完成这件事共有N=m1×m2×m3×…×mn种不同的方法. 
      这里要注意区分两个原理,要做一件事,完成它若是有n类办法,是分类问题,第一类中的方法都是独立的,因此用加法原理;做一件事,需要分n个步骤,步与步之间是连续的,只有将分成的若干个互相联系的步骤,依次相继完成,这件事才算完成,因此用乘法原理. 
      这样完成一件事的分“类”和“步”是有本质区别的,因此也将两个原理区分开来. 
      (二)排列和排列数 
      (1)排列:从n个不同元素中,任取m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列. 
      从排列的意义可知,如果两个排列相同,不仅这两个排列的元素必须完全相同,而且排列的顺序必须完全相同,这就告诉了我们如何判断两个排列是否相同的方法. 
      (2)排列数公式:从n个不同元素中取出m(m≤n)个元素的所有排列 
      当m=n时,为全排列Pnn=n(n-1)(n-2)…3·2·1=n!
      (三)组合和组合数 
      (1)组合:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从 n个不同元素中取出m个元素的一个组合. 
      从组合的定义知,如果两个组合中的元素完全相同,不管元素的顺序如何,都是相同的组合;只有当两个组合中的元素不完全相同时,才是不同的组合. 
      (2)组合数:从n个不同元素中取出m(m≤n)个元素的所有组合的个 
      这里要注意排列和组合的区别和联系,从n个不同元素中,任取m(m≤n)个元素,“按照一定的顺序排成一列”与“不管怎样的顺序并成一组”这是有本质区别的. 
     二、两个基本计数原理及应用 
      (1)加法原理和分类计数法 
      1.加法原理 
      2.加法原理的集合形式 
      3.分类的要求 
      每一类中的每一种方法都可以独立地完成此任务;两类不同办法中的具体方法,互不相同(即分类不重);完成此任务的任何一种方法,都属于某一类(即分类不漏) 
      (2)乘法原理和分步计数法 
      1.乘法原理 
      2.合理分步的要求 
      任何一步的一种方法都不能完成此任务,必须且只须连续完成这n步才能完成此任务;各步计数相互独立;只要有一步中所采取的方法不同,则对应的完成此事的方法也不同

    注意:0! = 1,1 ! =  1

    C(n,m) 注意:第一个为底数,第二个为顶数

    C(n,1) = 从n中拿1个 = n

    C(n,n) = 从n中拿n个 = 1

    A(n,1) = 从n中有序拿一个 = n

    A(n,n) = 从n中有序拿n个 =  n! / (n-n)! = n! / 1 = n!

  • 相关阅读:
    asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像
    C#中DataTable中的Compute方法使用收集
    c#的DateTime.Now函数详解
    附加数据库失败,拒绝访问
    xml文件绑定chenckbox选择框
    Maximum Xor Secondary(单调栈好题)
    Y(类树形DP)
    Average distance(类树形DP)
    Balls and Boxes (模拟题)
    Party at Hali-Bula(树形DP+判断方案数是否唯一)
  • 原文地址:https://www.cnblogs.com/maxiaodoubao/p/4794873.html
Copyright © 2011-2022 走看看