组合数学基础

本文介绍了组合数学的基础概念,包括卡特兰数、第一类斯特林数和第二类斯特林数。卡特兰数在排列组合中有着重要应用,例如计算特定序列的个数。第一类斯特林数描述了n个元素构成m个圆排列的数目,而第二类斯特林数则关注于n个元素划分到m个集合的方案数。文章详细阐述了它们的定义、递推公式及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

n元素集合的循环r排列的数目是:

                                                                         \frac{n!}{r*(n-r)!}

特别的,n个元素的循环排列的数目是(n-1)!

帕斯卡公式

                                                                        C(n,k)=C(n-1,k)+C(n-1,k-1)

多重集合的排列

设S是多重集合,它有k种不同类型的对象,且每一种类型的有限重复数分别是n1,n2,n3......nk。设S的大小n=n1+n2+...+nk。则S的排列数目等于

                                                                         \frac{n!}{n1!*n2!*......*nk!}

多重集合的组合

设S是k种类型对象的多重集合,每种元素均具有无限的重复数。那么S的r组合的个数等于:

                                                                        C(r+k-1,r)=C(r+k-1,k-1)

卡特兰数

1,1,2,5,14,42,132,429,1430,4832......

考虑由n个+1和n个-1组成的2n序列,a1,a2,...,a2n,其部分和总满足a1 + a2 + ... + ak >= 0 (k=1,2,... 2n)

序列的个数等于第n个卡特兰数   \frac{1}{n + 1}\binom{2n}{n}

递推公式1:Cn = \frac{4n - 2}{n + 1}Cn-1

递推公式2:Cn=\sum_{i=0}^{n-1}CiCn-i-1​​

 

第一类斯特林数

表示的是将 n 个不同元素构成 m 个圆排列的数目。

设人被标上1,2,.....p,则将这 p 个人排成 m 个圆有两种情况:

1. 在一个圆圈里只有标号为 p 的人自己,排法有 S1(n-1,m-1) 个。

2. p 至少和另一个人在一个圆圈里。这些排法通过把 1,2....n-1 排成 m 个圆再把 n 放在 1,2....n-1 任何一人左边得到,因此第二种类型排法共有 (n-1)*S1(n-1,m)

我们所做的就是把 {1,2,...,p} 划分到 m 个非空且不可区分的盒子,然后将每个盒子中的元素排成一个循环排列。

综上,可得出第一类Stirling数定理:S1(n,m) = S1(n-1,m-1) + (n-1)*S1(n-1,m)

边界条件:

  S1(n,n)=1(n >= 1)
  S1(n,0)=0(n>=0)
 

第二类斯特林数

表示的是把 n 个不同元素划分到 m 个集合的方案数

元素在哪些集合并不重要,唯一重要的是各集合里装的是什么,而不管哪个集合装了什么。

考虑将前 n 个正整数,{1,2,...,n} 的集合作为要被划分的集合,把 {1,2,...,n} 分到 m 个非空且不可区分的集合的划分有两种情况:

1. 那些使得 n 自己单独在一个集合的划分,存在有 S2(n-1,m-1)种划分个数
2. 那些使得 n 不单独自己在一个盒子的划分,存在有 m*S2(n-1,m) 种划分个数


考虑第二种情况,n 不单独自己在一个盒子,也就是 n 和其他元素在一个集合里面,也就是说在没有放 n 之前,有 n-1 个元素已经分到了m 个非空且不可区分的盒子里面(划分个数为S2(n-1,m)),那么现在问题是把 n 放在哪个盒子里面,此时有 m 种选择,所以存在有m*S2(n-1,m)

综上,可得出第二类斯特林数定理: S2(n,m)=S2(n-1,m-1)+m*S2(n-1,m)

边界条件: 
S2(n,n)=1(n>=1)

S2(n,0) = 0(n >= 0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值