首页 > 其他分享 >排列组合的知识

排列组合的知识

时间:2023-02-18 16:01:30浏览次数:32  
标签:元素 知识 AB 分组 志愿 排列组合 填写

排列组合公式

 

排列组合方法

一、计数

按照统计要求,将符合所有条件的结果筛选出来,统计所有结果的数量叫做计数!

二、分类加法

完成一件事的方法,有n类方案,第一类方案中有m1种方法,第二类方案中有m2种方法,第n类方案中有mn种方法,则完成这件事的总方法数:m1+m2+···mn。分类加法又叫做:完成一件事不同方案的枚举法,一一列举时要求:有顺序地、不重复、不遗漏。

例:完成报考志愿填写,依据分数得知可以填报的学校共有100所,则完成报考志愿填写,有100种不同的方案,填写这100所内的每所学校,都能完成报考志愿填写这件事。

三、分步乘法

完成一件事的方法,需要有顺序地完成n个步骤,完成第一个步骤有m1种不同方法,完成第二个步骤有m2种不同的方法,完成第n个步骤有mn种不同的方法,则完成这件事的方法种数:m1×m2···×mn。

例:完成报考志愿填写,填写时要求:第1志愿填1所,第2志愿填1所,要求第1志愿和第2志愿学校不相同。分数符合录取要求的学校共有10所,即第1志愿填写时有10所学校可选,即10种选择,填完第1志愿后,第2志愿填写时剩9所。则完成第1、2志愿愿填写这件事,共有10×9=90种不同的方案。

四、排列

五、组合

六、排列组合的区别

从n个不同元素中,每次取出m个元素为一组,如果该组内对每个元素的位置是有要求的(位置不同代表意义不同的)即排列,无要求(位置不同代表意义相同)的即组合。所以,如果以选出的元素与对应的位置关系来看:

① 排列,n个不同元素中选出m个元素的一个排列,每个元素所在的位置是不同的。如ABC选出2个元素AB,则AB和BA是两种方案。所以排列的性质为:一个排列的内部,每个元素的地位都是不等的,也就是内部要讲秩序。

② 组合,n个不同元素中选出m个元素的一个组合,每个元素所在的位置是相同的。如ABC选出2个元素AB,则AB和BA是一种方案。所以组合的性质为:一个组合的内部,每个元素的地位都是相等的,也就是内部不讲秩序。

七、分组分配

7.1 分组:将n个不同元素分成m组,每种分组的方案不相同。

 

7.2 平均分组:将n个不同元素平均分成m组,每种分组的方案不相同。

7.3 分配

7.4 平均分配:先分组+再分配

7.5 分组分配:先分组+再分配

八、排列组合处理技巧类型

8.1 特殊元素和位置优先安排:特殊要求,优先安排!

8.2 相邻元素之捆绑法:元素相邻,捆绑为一!

8.3 不相邻元素之插空法:元素间隔,分位插入!

8.4 定序元素之只选不排:定序元素=相同元素,只选不排!

8.5 相同元素分配之挡板法:同元进盒,挡板分隔!

8.6 不同元素分配之分步乘法:异元进盒,分步相乘!

8.7 正难则反之求补集法:正面难攻,则回手掏!

正难则反策略,假设问题有2个条件(AB),概括:先求出满足A条件的结果,然后再该结果里剔除掉不满足B条件的结果,得到的就是既满足A又满足B的结果。换成集合的思想来说,就是指求AB的交集。

标签:元素,知识,AB,分组,志愿,排列组合,填写
From: https://www.cnblogs.com/kuailest/p/17132834.html

相关文章

  • Java基础知识点(方法)
    1.方法是程序中最小的执行单元。2.作用:能够提高代码的复用性,提高代码的可维护性(好处)重复代码、具有独立功能的代码可以抽取到方法中。3.方法的定义:把一些代码打包在一起。方......
  • 事务基础知识与执行计划
    事务基础知识数据库事务的概念数据库事务是什么?事务是一组原子性的SQL操作。事务由事务开始与事务结束之间执行的全部数据库操作组成。A(原子性)、(C一致性)、I(隔离性)、D(持......
  • 【计算机网络】计算机网络核心知识点
    文章目录​​1.计算机网络分类​​​​2.计算机网络的层次结构​​​​3.层次结构设计的基本原则​​​​4.网络层核心知识​​​​5.传输层核心知识​​​​6.MTU-MSS介绍......
  • 【宝塔部署PHP项目】含域名访问部署、IP访问部署、数据库、端口号、Nginx等知识
    一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级......
  • Java基础知识点(二维数组)
                       二维数组1.二维数组的定义方式有多种。下面介绍常见的三种方式:第一种:数据类型[][]数组名=new数据类型[行的......
  • 一个小知识点
    old={'l':2}new=oldprint('id(old)',id(old))new['l']=3print('id(new)',id(new))print(old)old=2new=old(new)=3print('id(old)',id(old))print('id(new)',id......
  • react知识点汇总
    一、react认识用于构建用户界面的JavaScript库二、创建react项目:react脚手架创建react项目,创建新的react应用npxcreate-react-appmy-appcdmy-appnpm......
  • 关于链路追踪所需要了解的知识
    链路追踪(tracing)即调用链监控,特点是通过记录多个在请求间跨服务完成的逻辑请求信息,帮助开发人员优化性能和进行问题追踪。链路追踪可以捕获每个请求遇到的异常和错误,以及即......
  • Java基础知识点(数组遍历以及常见问题)
    一:数组遍历:将数组中的所有内容取出来,取出来之后可以对它进行一系列的操作。注意:遍历指的是取出数据的过程,不要局限的理解为遍历就是打印。在Java中,关于数组的一个长度属性.l......
  • Java基础知识点(数组较难的的一个练习-数组的排序)
    冒泡排序:第一步:从第一个元素开始,将相邻的两个元素进行比较,如果前一个元素比后一个元素大,则交换他们的位置,直到最后两个元素完成比较。整个过程完成后,数组中最后一个元素自然......