斯特林数计数问题

第一类斯特林数

裸第一类斯特林数

注意到高的火柴后面挡住很多低的火柴。则高的火柴必须在这一块的最前方,低的火柴可以任意排列,构成一个圆排列。

从所有火柴中划分出k个圆排列,即为答案。

建筑师

注意到最高的建筑把所有建筑分为左右两部分。

一个高的建筑后面挡住许多矮的建筑,最高的建筑必须在最前方,矮的建筑可以任意排列。若这一块区域的建筑数量为 x x x,则可以任意排列的建筑数量为 ( x − 1 ) ! (x-1)! (x1)!,即圆排列。

因此分配所有建筑构成 a + b − 2 a+b-2 a+b2个圆排列,其中选出 a − 1 a-1 a1个放到最高的建筑左边,剩下的放到右边。答案即为 [ n − 1 a + b − 2 ] ⋅ ( a + b − 2 a − 1 ) \begin{bmatrix} n-1\\ a+b-2 \end{bmatrix}\cdot \begin{pmatrix} a+b-2\\ a-1 \end{pmatrix} [n1a+b2](a+b2a1)

其他更复杂的同类问题往往需要快速求出斯特林数。

事实上注意到我们可以枚举最高的建筑前面有几个建筑,这样答案就是 ∑ i = 0 n − 1 [ i a − 1 ] [ n − i − 1 b − 1 ] ( n − 1 i ) \overset{n-1}{\underset {i=0}\sum}\begin{bmatrix} i\\ a-1 \end{bmatrix}\begin{bmatrix} n-i-1\\ b-1 \end{bmatrix}\begin{pmatrix} n-1\\ i \end{pmatrix} i=0n1[ia1][ni1b1](n1i)

因而有 [ n − 1 a + b − 2 ] ⋅ ( a + b − 2 a − 1 ) = ∑ i = 0 n − 1 [ i a − 1 ] [ n − i − 1 b − 1 ] ( n − 1 i ) \begin{bmatrix} n-1\\ a+b-2 \end{bmatrix}\cdot \begin{pmatrix} a+b-2\\ a-1 \end{pmatrix}=\overset{n-1}{\underset {i=0}\sum}\begin{bmatrix} i\\ a-1 \end{bmatrix}\begin{bmatrix} n-i-1\\ b-1 \end{bmatrix}\begin{pmatrix} n-1\\ i \end{pmatrix} [n1a+b2](a+b2a1)=i=0n1[ia1][ni1b1](n1i)

第二类斯特林数

模板

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值