【组合数学】排列组合 ( 集合组合、一一对应模型分析示例 )

简介: 【组合数学】排列组合 ( 集合组合、一一对应模型分析示例 )

文章目录

一、集合组合、一一对应模型分析示例



排列组合参考博客 :


【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )

【组合数学】集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 )

【组合数学】排列组合 ( 排列组合内容概要 | 选取问题 | 集合排列 | 集合组合 )

【组合数学】排列组合 ( 排列组合示例 )

【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )

【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )

【组合数学】排列组合 ( 多重集组合数示例 | 三个计数模型 | 选取问题 | 多重集组合问题 | 不定方程非负整数解问题 )

【组合数学】排列组合 ( 两个计数原则、集合排列示例 | 集合排列、圆排列示例 )





一、集合组合、一一对应模型分析示例


将 2 n 2n2n 个人分成 n nn 组 , 每组 2 22 人 , 有多少种分法 ?



先确定该问题是否是选取问题 , 元素是否重复 , 选取是否有序 ,


不可重复的元素 , 有序的选取 , 对应 集合的排列

不可重复的元素 , 无序的选取 , 对应 集合的组合

可重复的元素 , 有序的选取 , 对应 多重集的排列

可重复的元素 , 无序的选取 , 对应 多重集的组合


2 n 2n2n 个人 , 人肯定是不重复的 , 分成 n nn 组 , 这里的分组是没有区别的 , 相当于集合的划分 ;


另外还有限制条件 , 每组只能放 2 22 个元素 ;


原始的简单模型 , 如 分类 ( 加法 ) , 分步 ( 乘法 ) , 集合排列 , 集合组合 , 多重集排列 , 多重集组合 , 没有对应的模型 , 无法直接使用 ;


不是简单的选取问题 ;




这里需要考虑 组有区别 , 组没有区别 两种情况 ;


分组有区别的话 , 分成 n nn 组 , 先放第 1 11 组 , 选 2 22 个人 , 再放第 2 22 组 , 选 2 22 个人 , ⋯ \cdots⋯ 这种方案是 可以计算出来的 ;


分组没有区别 , 此时需要观察 分组有区别 和 没有区别 的差别 :


分组没有区别 , 得到一种方法 , 然后对 n nn 个分组进行全排列 , 有 n ! n!n! 种排列方法 , 就得到了分组有区别的方案个数 ;


这里将 分组有区别方案数 与 分组没有区别方案数 建立对应关系 :


分 组 没 有 区 别 方 案 数 × n ! = 分 组 有 区 别 方 案 数 分组没有区别方案数 \times n! = 分组有区别方案数

分组没有区别方案数×n!=分组有区别方案数



分组有区别方案数 是可以计算出来的 , 然后 除以 n ! n!n! , 即可得到 分组没有区别的方案数 ;




分组有区别 , 按照 分步处理 的方案 :


① 第 1 11 步 : 从 2 n 2n2n 个元素中 , 选取 2 22 个元素 , 有 C ( 2 n , 2 ) C(2n , 2)C(2n,2) 种方案 ;


② 第 2 22 步 : 从 2 n − 2 2n - 22n−2 个元素中 , 选取 2 22 个元素 , 有 C ( 2 n − 2 , 2 ) C(2n - 2 , 2)C(2n−2,2) 种方案 ;


③ 第 3 33 步 : 从 2 n − 4 2n - 42n−4 个元素中 , 选取 2 22 个元素 , 有 C ( 2 n − 4 , 2 ) C(2n - 4 , 2)C(2n−4,2) 种方案 ;


⋮ \vdots


④ 第 n nn 步 : 从 2 n − ( 2 n − 2 ) 2n - ( 2n - 2 )2n−(2n−2) 个元素中 , 选取 2 22 个元素 , 有 C ( 2 n − ( 2 n − 2 ) , 2 ) C(2n - ( 2n - 2 ) , 2)C(2n−(2n−2),2) 种方案 ; 也就是 1 11 种方案 ;



排列组合公式


排列 : P ( n , r ) = n ! ( n − r ) ! P(n,r) = \dfrac{n!}{(n-r)!}P(n,r)=

(n−r)!

n!


组合 : C ( n , r ) = P ( n , r ) r ! = n ! r ! ( n − r ) ! C(n, r) = \dfrac{P(n,r)}{r!} = \dfrac{n!}{r!(n-r)!}C(n,r)=

r!

P(n,r)


=

r!(n−r)!

n!



分步处理 需要使用乘法原则 , 将 n nn 步的方案数相乘 :


N = C ( 2 n , 2 ) C ( 2 n − 2 , 2 ) C ( 2 n − 4 , 2 ) ⋯ C ( 2 n − ( 2 n − 2 ) , 2 ) = 2 n ! 2 ! × ( 2 n − 2 ) ! × ( 2 n − 2 ) ! 2 ! × ( 2 n − 4 ) ! ⋯ ( 2 n − ( 2 n − 2 ) ) ! 2 ! × ( 2 n − ( 2 n − 2 ) − 2 ) ! ⏟ n 个 分 步 相 乘 前 后 可 以 约 掉 很 多 阶 乘 = ( 2 n ) ! ( 2 ! ) n

N===C(2n,2)C(2n−2,2)C(2n−4,2)⋯C(2n−(2n−2),2)2n!2!×(2n−2)!×(2n−2)!2!×(2n−4)!⋯(2n−(2n−2))!2!×(2n−(2n−2)−2)!n个分步相乘前后可以约掉很多阶乘(2n)!(2!)n

N=C(2n,2)C(2n−2,2)C(2n−4,2)⋯C(2n−(2n−2),2)=2n!2!×(2n−2)!×(2n−2)!2!×(2n−4)!⋯(2n−(2n−2))!2!×(2n−(2n−2)−2)!⏟n个分步相乘前后可以约掉很多阶乘=(2n)!(2!)n

N


 

=

=

=


 

C(2n,2)C(2n−2,2)C(2n−4,2)⋯C(2n−(2n−2),2)

2!×(2n−2)!

2n!


×

2!×(2n−4)!

(2n−2)!


2!×(2n−(2n−2)−2)!

(2n−(2n−2))!



n个分步相乘


前后可以约掉很多阶乘

(2!)

n

(2n)!




分组有区别的方案个数是 ( 2 n ) ! ( 2 ! ) n \cfrac{(2n)!}{(2!)^n}

(2!)

n

(2n)!


 个 ;



根据

分 组 没 有 区 别 方 案 数 × n ! = 分 组 有 区 别 方 案 数 分组没有区别方案数 \times n! = 分组有区别方案数

分组没有区别方案数×n!=分组有区别方案数


公式 ;


分组有区别方案数 是可以计算出来的 , 然后 除以 n ! n!n! , 即可得到 分组没有区别的方案数 ;



最终结果是 ( 2 n ) ! ( 2 ! ) n n ! \cfrac{(2n)!}{(2!)^n n!}

(2!)

n

n!

(2n)!





该问题不是简单的使用 原始的简单模型 , 如 分类 ( 加法 ) , 分步 ( 乘法 ) , 集合排列 , 集合组合 , 多重集排列 , 多重集组合 ;


而是将不可计算的模型 , 对应到一个可计算的模型中 , 然后计算出该模型 的重复度


目录
相关文章
|
4月前
|
存储 算法 程序员
【算法训练-回溯算法 二】【子集组合问题】子集、组合、子集II、组合总和
【算法训练-回溯算法 二】【子集组合问题】子集、组合、子集II、组合总和
54 0
|
4月前
|
算法 测试技术 C#
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
【多数组合 数学 字符串】2514. 统计同位异构字符串数目
|
4月前
|
算法 搜索推荐 数据挖掘
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
109 0
|
4月前
|
人工智能 算法 数据可视化
【算法训练-数组 五】【数组组合】:下一个排列
【算法训练-数组 五】【数组组合】:下一个排列
39 0
|
9月前
|
人工智能
实例解释在lingo中使用集合模型
实例解释在lingo中使用集合模型
113 0
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
|
算法 安全 机器人
算法提高:计算几何基础 | 判断包含关系
计算几何是计算机科学的一个重要分支,主要研究几何形体的数学描述和计算机描述,在现代工程和数学领域,以及计算机辅助设计、地理信息系统、图形学、机器人技术、超大规模集成电路设计和统计等诸多领域都有重要的用途。在 ACM 竞赛中,出题相对独立,曾出现过与图论、动态规划相结合的题,大多数计算几何问题用程序实现都比较复杂。常用算法包括经典的凸包求解、离散化及扫描线算法、旋转卡壳、半平面交等。本文介绍计算几何常用算法——包含关系。
142 0
离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
177 0
|
存储 算法
四式解决回溯算法:组合+组合总和
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。
681 3
|
存储 算法
一文搞懂全排列、组合、子集问题
Hello,大家好,我是bigsai,long time no see!在刷题和面试过程中,我们经常遇到一些排列组合类的问题,而全排列、组合、子集等问题更是非常经典问题。本篇文章就带你彻底搞懂全排列!
163 0
一文搞懂全排列、组合、子集问题