【组合数学】排列组合

目录

  • 1. 加法乘法原理
    • 加法原理
    • 乘法原理
  • 2. 排列&组合
    • 集合排列
    • 集合组合
  • 3. 多重集合的排列 & 组合
    • 多重集合的排列
    • 多重集合的组合
  • 4. 二项式定理
  • 5. 集合的划分(Stirling)

1. 加法乘法原理

加法原理

计算在一系列互斥事件中任意一个事件发生的总数。
如果事件A有 m m m 种可能发生的方式,事件B有 n n n 种可能发生的方式,并且这两个事件不能同时发生,那么这两个事件A或B发生的总方式数为 m + n m + n m+n

乘法原理

计算多个事件同时发生的总数。如果事件A有 m m m 种可能发生的方式,事件B有 n n n 种可能发生的方式,那么这两个事件同时发生的总方式数为 m × n m × n m×n

习题1、在小于 2000 的数中,有多少个正整数含有数字 2 ?
解: 1.千位数为1或0,百位数为2的正整数个数为: 2 ∗ 1 ∗ 10 ∗ 10 2*1*10*10 211010
2.千位数为1或0,百位数不为2,十位数为2的正整数个数为: 2 ∗ 9 ∗ 1 ∗ 10 2*9*1*10 29110;
3.千位数为1或0,百位数和十位数皆不为 2,个位数为2的正整数个数为: 2 ∗ 9 ∗ 9 ∗ 1 2*9*9*1 2991;
故满足题意的整数个数为: 200 + 180 + 162 = 542 200+180+162=542 200+180+162=542

2. 排列&组合

集合排列

n 元集合 S 的一个 r 排列是指先从 S 中选出 r 个元素,然后将其按次序排列。一般用 P ( n , r ) P(n, r) P(n,r) A n r A_n^r Anr 表示 n 元集合 S 的 r 排列数。

定理 2.1:集合排列 P ( n , r ) = n ( n − 1 ) . . . ( n − r + 1 ) = n ! ( n − r ) ! P(n, r) = n (n - 1) ... (n - r + 1) = \frac{n!} {(n - r)!} P(n,r)=n(n1)...(nr+1)=(nr)!n!

特别的有 P ( n , n ) = n ! P(n, n)= n! P(n,n)=n! P ( n , 1 ) = n P (n, 1) = n P(n,1)=n

定理 2.2:n 元集合 S 的 r 圆排列数为 P ( n , r ) r = n ! r ⋅ ( n − r ) ! \frac{P(n, r)}{r} = \frac{n!} {r\cdot (n - r)!} rP(n,r)=r(nr)!n!

集合组合

n 元集合 S 的 r 组合是指从 S 中取出 r 个元素的一种无序选择,其组合数记为 ( n r ) \binom{n}{r} (rn) C n r C_n^r Cnr

定理 2.3:集合组合 ( n r ) = P ( n , r ) r ! = n ! r ! ⋅ ( n − r ) ! \binom{n}{r}= \frac{P(n, r)}{r!} = \frac{n!} {r!\cdot (n - r)!} (rn)=r!P(n,r)=r!(nr)!n!

特别的有 ( n 0 ) = ( n n ) = 1 ( n r ) = ( n n − r ) ( n 0 ) + ( n 1 ) + ( n 2 ) + . . . + ( n n ) = 2 n \binom{n}{0}=\binom{n}{n}=1\\\quad\\\binom{n}{r}=\binom{n}{n-r}\\\quad\\\binom{n}{0}+\binom{n}{1}+\binom{n}{2}+...+\binom{n}{n}=2^n (0n)=(nn)=1(rn)=(nrn)(0n)+(1n)+(2n)+...+(nn)=2n

习题2、在所有7位01串中,同时含有“101”串和“11”串的有多少个?
解: 1.串中有6个1和1个0,有5个位置可以插入:5种;
2.串中有5个1,除去 0111110,从6个空位中选2个插入0,个数为 C 6 2 − 1 = 14 C_6^2-1=14 C621=14;
3.串中有4个1,a) 3个0单独插入,除去 10101010,一共 C 5 3 − 1 = 9 C_5^3-1=9 C531=9;
         b) 其中两个0一组,另外一个单独,一共 C 5 2 ⋅ P ( 2 , 2 ) − C 4 1 ⋅ 2 = 12 C_5^2\cdot P(2,2)-C_4^1\cdot 2=12 C52P(2,2)C412=12;
4.串中有3个1: 串只能为 **1101** 或 **1011** ,一共 4 ∗ 2 = 8 4*2=8 42=8
故满足题意的串个数为: 5+14+9+12+8=48。

习题3、设由1、2、3、4、5、6 组成的各位数字互异的4位偶数共有n个,其和为 m。求n和m。
解: 由1、2、3、4、5、6 组成的各位数字互异,且个位数字为 2、4、6 的偶数均有P(5,3)=60个,所以 n=60*3=180
a 1 , a 2 , a 3 , a 4 a_1,a_2,a_3,a_4 a1,a2,a3,a4 分别表示这 180 个偶数的个位、十位、百位、千位数字之和,则
m = a 1 + 10 a 2 + 100 a 3 + 1000 a 4 m =a_1+10a_2+100a_3+1000a_4 m=a1+10a2+100a3+1000a4因为个位数字为 2,4,6的偶数各有 60个,故 a 1 = ( 2 + 4 + 6 ) ∗ 60 = 720 a_1=(2+4+6) * 60=720 a1=(2+4+6)60=720
因为千(百,十)位数字为1、3、5的偶数各有 3 * P(4,2) = 36 个
               为2、4、6的偶数各有 2 * P(4,2) = 24 个
a 2 = a 3 = a 4 = ( 1 + 3 + 5 ) ∗ 36 + ( 2 + 4 + 6 ) ∗ 24 = 612 a_2=a_3 =a_4 =(1+3+5)*36 +(2+4+6)*24 =612 a2=a3=a4=(1+3+5)36+(2+4+6)24=612
m = 720 + 612 ∗ ( 10 + 100 + 1000 ) = 680040 m=720 +612*(10 +100 +1000)=680040 m=720+612(10+100+1000)=680040

习题4、从{1,2,…,7}中选出不同的5个数字组成的5位数中,1与2不相邻的数字有多少个?
解: 1.1与2都有:1和2相邻: 2* ( 5 3 ) \binom{5}{3} (35)*P(4,4)。不相邻的方案数 ( 5 3 ) \binom{5}{3} (35)*P(5,5)-2* ( 5 3 ) \binom{5}{3} (35)* P(4,4)
2.只有1或2: 2* ( 5 4 ) \binom{5}{4} (45)*P(5,5)
3.没有1和2: P(5,5)

3. 多重集合的排列 & 组合

多重集合,即有重复元素的集合。比如 M = { a , a , a , b , c , c , d , d , d , d } M = \{a, a, a, b, c, c, d, d, d, d \} M={a,a,a,b,c,c,d,d,d,d}

多重集合的排列

定理 3.1:无穷多重集合 M = { ∞ ⋅ a 1 , ∞ ⋅ a 2 , . . . , ∞ ⋅ a k } M = \{\infty \cdot a_1,\infty \cdot a_2 ,..., \infty \cdot a_k\} M={a1,a2,...,ak}的 r 排列数为 k r k^r kr

定理 3.2:有限多重集合 M = { n 1 ⋅ a 1 , n 2 ⋅ a 2 , . . . , n k ⋅ a k } M = \{n_1 \cdot a_1,n_2 \cdot a_2 ,..., n_k \cdot a_k\} M={n1a1,n2a2,...,nkak}的全排列数为 ( n 1 + n 2 + . . . + n k ) ! n 1 ! n 2 ! . . . n k ! \frac{(n_1+n_2+...+n_k)!}{n_1!n_2!...n_k!} n1!n2!...nk!(n1+n2+...+nk)!

多重集合的组合

定理 3.3:无穷多重集合 M = { ∞ ⋅ a 1 , ∞ ⋅ a 2 , . . . , ∞ ⋅ a k } M = \{\infty \cdot a_1,\infty \cdot a_2 ,..., \infty \cdot a_k\} M={a1,a2,...,ak}的 r 组合数为 ( k + r − 1 r ) \binom{k+r-1}{r} (rk+r1)

定理 3.3:无穷多重集合 M = { ∞ ⋅ a 1 , ∞ ⋅ a 2 , . . . , ∞ ⋅ a k } M = \{\infty \cdot a_1,\infty \cdot a_2 ,..., \infty \cdot a_k\} M={a1,a2,...,ak}

要求 a 1 , a 2 , . . . , a k a_1,a_2,...,a_k a1,a2,...,ak 至少出现一次的 r 组合数为 ( ( r − k ) + k − 1 r − k ) = ( r − 1 k − 1 ) \binom{(r-k)+k-1}{r-k}=\binom{r-1}{k-1} (rk(rk)+k1)=(k1r1)

4. 二项式定理

设 n 为一正整数,则对任意的 x 和 y,其二项式为 ( x + y ) n (x+y)^n (x+y)n

定理 4.1: ( x + y ) n = y n + ( n 1 ) x y n − 1 + . . . + ( n n − 1 ) x n − 1 y + x n = ∑ r = 0 n ( n r ) x r y n − r (x+y)^n=y^n+\binom{n}{1}xy^{n-1}+...+\binom{n}{n-1}x^{n-1}y+x^n=\sum_{r=0}^n\binom{n}{r}x^ry^{n-r} (x+y)n=yn+(1n)xyn1+...+(n1n)xn1y+xn=r=0n(rn)xrynr

定理 4.2:二项式对称关系 ( n r ) = ( n n − r ) \binom{n}{r}=\binom{n}{n-r} (rn)=(nrn)

      二项式递推关系 ( n r ) = ( n − 1 r ) + ( n − 1 r − 1 ) \binom{n}{r} = \binom{n-1}{r}+\binom{n-1}{r-1} (rn)=(rn1)+(r1n1)

定理 4.3 令 x =-1, y = 1可得: ( n 0 ) + ( n 2 ) + ( n 4 ) + . . . = ( n 1 ) + ( n 3 ) + ( n 5 ) + . . . \binom{n}{0}+\binom{n}{2}+\binom{n}{4}+...=\binom{n}{1}+\binom{n}{3}+\binom{n}{5}+... (0n)+(2n)+(4n)+...=(1n)+(3n)+(5n)+...

定理 4.4: 1 ⋅ ( n 1 ) + 2 ⋅ ( n 2 ) + . . . + n ⋅ ( n n ) = n ⋅ 2 n − 1 1\cdot \binom{n}{1}+2\cdot \binom{n}{2}+...+n\cdot\binom{n}{n}=n\cdot 2^{n-1} 1(1n)+2(2n)+...+n(nn)=n2n1 令y=1,对x求导后取x=1

定理 4.5 ( 0 k ) + ( 1 k ) + . . . + ( n k ) = ( n + 1 k + 1 ) \binom{0}{k}+\binom{1}{k}+...+\binom{n}{k}=\binom{n+1}{k+1} (k0)+(k1)+...+(kn)=(k+1n+1)

5. 集合的划分(Stirling)

一个 n 元集合的全部 k 分划的个数叫作第 2 类 Stirling 数,记作 S ( n , k ) S(n,k) S(n,k)
例如,集合 A={1,2,3,4}有 7 个 2 分划,它们是 { 1 , 2 , 3 , 4 } = { 1 } ∪ { 2 , 3 , 4 } = { 2 } ∪ { 1 , 3 , 4 } = { 3 } ∪ { 1 , 2 , 4 } = { 4 } ∪ { 1 , 2 , 3 } = { 1 , 2 } ∪ { 3 , 4 } = { 1 , 3 } ∪ { 2 , 4 } = { 1 , 4 } ∪ { 2 , 3 } \{1,2,3,4\}=\{1\}\cup\{2,3,4\}=\{2\}\cup\{1,3,4\}=\{3\}\cup\{1,2,4\}=\{4\}\cup\{1,2,3\}=\{1,2\} \cup\{3,4\} =\{1,3\}\cup\{2,4\} =\{1,4\}\cup \{2,3\} {1,2,3,4}={1}{2,3,4}={2}{1,3,4}={3}{1,2,4}={4}{1,2,3}={1,2}{3,4}={1,3}{2,4}={1,4}{2,3},故 S ( 4 , 2 ) = 7 S(4,2)=7 S(4,2)=7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmd查看进程信息 终止进程

cmd查看进程信息 终止进程 1、cmd查看进程信息2、终止进程 1、cmd查看进程信息 tasklist命令 描述: 该工具显示在本地或远程机器上当前运行的进程列表。 tasklist /?查看本机所有进程列表 tasklist /V根据进程名 查看jmeter进程 tasklist /V |findstr /i jmeter2、终止进程…

1+x网络系统建设与运维(中级)-练习3

一.设备命名 AR1 [Huawei]sysn AR1 [AR1] 同理可得,所有设备的命名如上图所示 二.VLAN LSW1 [LSW1]vlan 10 [LSW1-vlan10]q [LSW1]int g0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type access [LSW1-GigabitEthernet0/0/1]port default vlan 10 [LSW1-GigabitEt…

【自用数据结构】—将链表中的奇数全部移动到偶数前面

void move(LNode*& L){ LNode* pL; while(p!null){ if((p->next->data)%21) //判断该元素是否为奇函数 LNode *s p->next; p->nexts->next; s->nextL->next; L->nexts; else pp->next; } }

避免20种常见Selenium自动化测试异常,让你的测试更加稳定和可靠!

常见的Selenium异常 以下是所有Selenium WebDriver代码中可能发生的一些常见Selenium异常。 1、ElementClickInterceptedException 由于以某种方式隐藏了接收到click命令的元素,因此无法正确执行Element Click命令。 2、ElementNotInteractableException 即使目…

【Qt开发流程】之事件过滤器及sendEvent和postEvent

描述 事件过滤器(Event Filter)是Qt中一个强大的事件处理机制,它可以在对象接收到事件之前截获事件,并进行自定义处理。事件过滤器可以在不修改对象自身代码的前提下,对其进行事件处理和拦截。 事件过滤器的使用过程如下: 创建一…

Spring常用注解

1、给容器中注入组件-交由spring管理 Component:泛指各种组件,用于将当前类对象存入Spring容器中 Controller:用在控制层 Service:用在业务层 Repository:用在数据访问层 Bean:导入第三方包里面的注解…

C++ 文件操作之配置文件读取

C 文件操作之配置文件读取 在项目应用时常常会涉及一些调参工作,如果项目封装成了.exe或者.dll,那么频繁调参多次编译是一件十分低效的事情,如果代码算法或者逻辑是一定的,那么参数完全可以通过读入配置文件来获取之前在用C - op…

界面组件DevExpress Reporting v23.1新版亮点 - UX功能增强

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已于前段时间…

Db2的Activity event monitor在Db2 MPP V2上收集ROWS_INSERTED信息

注:本文不是讲解Db2 Activity event monitor,只是一个用法实践。要了解Activity event monitor,请参考 https://www.ibm.com/docs/en/db2/11.5?topicevents-activity-event-monitoring 。 环境 Red Hat Enterprise Linux release 8.8 (Oot…

Linux下设置redis临时密码和长期密码

临时密码 第一步:先启动redis,命令:./src/redis-server ./redis.conf 第二步:进入redis,命令:./src/redis-cli 第三步:查看密码,命令:config get requirepass 如果你re…

leetcode 876.链表的中间结点

补充上次的环形链表没细讲的快慢指针(这三道题现在可以连起来看),希望对你做题思路有帮助 876.链表的中间结点 题目 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结…

Python实现FA萤火虫优化算法优化卷积神经网络分类模型(CNN分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

光伏设计方案中最重要的是什么?

随着人们对可再生能源的关注度不断提高,光伏发电成为了越来越受欢迎的选择。然而,在设计和实施光伏项目时,有很多因素需要考虑。那么,在光伏设计方案中,最重要的是什么呢? 地理位置和环境:选择合…

Unity 关于SetParent方法的使用情况

在设置子物体的父物体时,我们使用SetParent再常见不过了。 但是通常我们只是使用其中一个语法: public void SetParent(Transform parent);使用改方法子对象会保持原来位置,跟使用以下方法效果一样: public Transform tran; ga…

Your anti-virus program might be impacting your build performance

Your anti-virus program might be impacting your build performance.解决方案 在使用 AndroidStudio 时,经常会弹出框提示:Your anti-virus program might be impacting your build performance. Android Studio checked the following directories: …

【开源】基于Vue+SpringBoot的婚恋交友网站

项目编号: S 057 ,文末获取源码。 \color{red}{项目编号:S057,文末获取源码。} 项目编号:S057,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 会员管理模块2.3 新…

电子初学者,必须掌握的几种焊机方法

买过电烙铁的都知道商家会送一小卷焊锡,个人推荐这个送的焊锡就不要使用了,直接丢垃圾桶就好。因为这大部分都是回收的,熔点高,容易让焊盘脱落。 焊接电路板时,讲究从左到右,从上往下的顺序焊接&#xff0c…

QT之QString

QT之QString 添加容器 点击栅格布局 添加容器,进行栅格布局 布局总结:每一个模块放在一个Group中,排放完之后,进行栅格布局。多个Group进行并排时,先将各个模块进行栅格布局,然后都选中进行垂直布…

Pentaho业务分析平台 SQL注入漏洞复现

0x01 产品简介 Pentaho Business Analytics是一款使您能够安全地访问、集成、操作、可视化和分析大数据资产的业务分析平台。 0x02 漏洞概述 Pentaho 业务分析平台在/pentaho/api/repos/dashboards/editor路径query参数存在SQL注入漏洞,攻击者可未授权执行任意SQL语句,获取账…

如何创建maven项目的多模块项目

Maven多模块项目是指一个Maven项目中包含多个子模块,每个子模块又是一个独立的Maven项目,但它们之间可以存在依赖关系。Maven多模块项目可以方便地管理多个子模块的依赖和构建过程,同时也可以提高项目的可维护性和可扩展性。创建maven项目的父…