首页 > 其他分享 >排列组合详解

排列组合详解

时间:2023-02-04 09:45:21浏览次数:57  
标签:方案 排列 frac 元素 相邻 详解 ans 排列组合

一、引入

排列组合是组合数学的基础,主要是研究各种排列和组合的情况数。

1. 加法原理

在同一步中,有不同类别的选择,可以将各类选择方案数累加获得总方案数。

举例说明,比如从 \(A\) 城到达 \(B\) 城,坐火车有 \(3\) 种方案,坐飞机有 \(2\) 种方案。则总共有 \(2 + 3 = 5\) 种方案。

2. 乘法原理

在不同步骤中,有不同种方案,可以将各步方案数累乘获得总方案数。

举例说明,比如从 \(A\) 城到达 \(B\) 城,中间需要从 \(C\) 城转乘。到达 \(C\) 城有 \(3\) 种方案,到达 \(B\) 城有 \(2\) 种方案。则总共有 \(2 \times 3 = 6\) 种方案。

二、公式

排列数:从 \(n\) 个不同元素中任意选出 \(m(m \leq n)\) 个,按照一定顺序排成一列,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的排列数。

\[A^m_n = n(n-1)(n-2) \cdots (n-m+1)=\frac{n!}{(n-m)!} \]

组合数:从 \(n\) 个不同元素中任意选出 \(m(m \leq n)\) 个的所有组合的个数,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的组合数。

\[C^m_n = \frac{A^n_m}{A^m_m} = \frac{n!}{m!(n-m)!} \]

三、经典题型

1. 特殊元素和位置优先

例 \(1\):

由 \(0,1,2,3,4,5\) 可以组成多少个没有重复数字的五位奇数?

解答

对于末位和首位有特殊要求,应该优先安排,以免不合要求的元素把这两个位置占掉。

先排末位共有 \(C^1_3\),然后排首位共有 \(C_4^1\),最后排其它位置共有 \(A_4^3\)

由计数原理可以算出 \(ans=C^1_3 C_4^1 A_4^3\)

练习 \(1\):

用 \(0\) 到 \(9\) 这 \(10\) 个数字,可以组成多少个没有重复数字的三位偶数?

解析

2. 相邻元素捆绑

有些元素不能分开,于是可以将这几个元素看作一个整体元素来进行排列组合。

例 \(2\):

\(7\) 人站成一排 ,其中甲乙相邻且丙丁相邻, 共有多少种不同的排法?

解答:
甲乙相邻,丙丁相邻,看作两个整体元素。

甲乙内部 \(A^2_2\) 种方案,丙丁内部 \(A^2_2\) 种方案,这两个整体元素和其他剩余 \(5\) 个元素进行排列,有 \(A^5_5\) 种方案。

则答案为 \(ans = A^2_2A^2_2A^5_5\)

练习 \(2\):

记者要为 \(5\) 名志愿者和他们帮助的 \(2\) 位老人拍照,要求排成一排,\(2\) 位老人相邻但不排在两端,求不同排法的数量?

解析

3. 不相邻元素插空

有些元素要求不能放在一起,我们可以将其他元素先排列好,再将这些不能放在一起的元素插在已经排好元素的空位中。

例 \(3\):

一个晚会的节目有 \(4\) 个舞蹈,\(2\) 个相声,\(3\) 个独唱,舞蹈节目不能连续出场,则节目的出场顺序有多少种?

解答:
第一步,先把 \(2\) 个相声和 \(3\) 个独唱排列好,共 \(A^5_5\) 种方案;

第二步,将这四个舞蹈插入 \(6\) 个空之中,共 \(A^4_6\) 种方案。

则答案为 \(ans = A^5_5A^4_6\)

练习 \(3\):

道路边上有编号 \(1\) 到 \(10\) 的 \(10\) 盏路灯,现要关掉其中的 \(3\) 盏,但不能关掉相邻的 \(2\) 盏或 \(3\) 盏,也不能关掉两端的路灯,则满足要求的关灯方法有几种?

解析

4. 定序问题倍缩空位插入

倍缩法:对于某几个元素顺序一定的排列问题,可先把这几个元素与其他元素一起进行排列,然后用总排列数除以这几个元素之间的全排列数。

例 \(4\):

\(7\) 人排队,其中甲乙丙 \(3\) 人顺序一定,共有多少不同的排法?

解答:

先把这几个需要固定顺序的元素和其他元素一同进行排列,即 \(A^7_7\) 种;

然后再除以这几个元素的全排列数,即 \(A^3_3\) 种;

答案即为

\[ans = \frac{A^7_7}{A^3_3} \]

练习 \(4\):

信号兵把红旗和白旗从上到下挂在旗杆上表示信号。现有 \(3\) 面红旗,\(2\) 面白旗,把这 \(5\) 面旗都挂上去,总共能表示多少种信号?

解析

练习题

P3223 [HNOI2012]排队

主要是插空法 + 高精度

标签:方案,排列,frac,元素,相邻,详解,ans,排列组合
From: https://www.cnblogs.com/baijian0212/p/17090870.html

相关文章

  • 【MySQL】MySQL 8 的 JSON 新特性详解(1)JSON 数据类型
    一、概述你好,我是小雨青年,一名使用MySQL8的程序员。MySQL8引入了对JSON数据类型的全面支持,并提供了一组内置函数以有效处理JSON数据。MySQL8中的JSON支持的一......
  • 万字详解递归与递推
    前言相信这个故事,朋友们应该都不陌生,从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?「从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事......
  • MyBatis使用四(查询详解)
    本文主要讲述如何在mybatis中进行查询操作【详解】一.查询User对象1.查询单个对象UserSelectUser接口声明如下//主要条件是使用idpublicinterfaceSelect......
  • JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制
     JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制  1.具名函数 定义: 调用:方式1:方法名();可以多次调用  ......
  • Asp.net中GridView使用详解
     l         GridView无代码分页排序l         GridView选中,编辑,取消,删除l         GridView正反双向排序l         GridView和......
  • inline内联函数详解
    这几天看题解一直遇到inline所以学习总结一下1、C++inline内联函数(1)引入inline关键字的原因:在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入......
  • Oracle Business Intelligence Enterprise Edition(DataModel详解)
    数据模型编辑器数据模型编辑器使您能够将来自多个数据集的数据合并到单个XML数据结构中。来自多个数据源的数据集可以合并为顺序XML,也可以在行级别合并,以创建单个组......
  • springcloud:接口文档自动生成器swagger详解 上篇(十一)
    0.引言在微服务的开发工作中,前后端的协同开发是必不可少的,随着服务数与接口数的增加,手写接口文档成为了一个苦活累活,很多程序员对此也很抵触。同时我们也需要有一个地方来......
  • wpf中Interaction.Behaviors详解
    在WPF4.0中,引入了一个比较实用的库——Interactions,这个库主要是通过附加属性来对UI控件注入一些新的功能,除了内置了一系列比较好用的功能外,还提供了比较良好的扩展接口。......
  • 详解 CALayer 和 UIView 的区别和联系
    前言前面发了一篇iOS面试的文章,在说到UIView和CALayer的区别和联系的时候,被喵神指出没有切中要点,所以这里就CALayer和UIView这个问题重新整理了下。这里会先分条......