组合数学2

发布时间 2023-07-30 15:31:31作者: 星河倒注

上文:组合数学初步

Stirling 简述

Stirling formula

image

这是斯特林公式,我们可以利用它算出阶。比如卡特兰数)。

image

下面是正式的详细介绍:

第一类stirling数

把n个不同的人分成K个圆排列的方案数。

有两个重点:

  • 1.不用平均分。
  • 2.K个圆排列内部有序。
  • 3.每组不能为空

记法:
image

第二类stirling数

n个不同的人分成k组的方案数。

重点:

  • 1.还是不用平均分
  • 2.每组内没有排序
  • 3.每组不能为空

记法:
image

第二类stirling数

我们先研究第二类stirling数。
首先一个规定:
\(S(n,0)=0\)
不难得出:
\(S(n,1)=S(n,n)=1\)
请先尝试证明:
image

第一个式子:

首先n个元素自由选择,方案数是\(2^{n}\),取消顺序除以2。因为已经确定顺序,减掉1种全在第一组的情况就行。

第二个式子:

不难想出只可能有一组是两个人,其他都是一个人,没有区别。那从n个人里挑两个就行。

发现:

先暂缓证明后两个式子。我们发现当k接近n的时候,式子多是组合数,接近0时则幂较多,大胆猜想通项与这两者混合有关。

\(S(n,k)\)的通项

先看看递推

首先给出一个递推:
image

我们发现与n-1个人和n个人只差了一个人。考虑分类。

要么是新来的人自成一组(从S(n-1,k-1)来),要么是加入k组之中(从S(n-1,k)来)。那么上式不难得出。

但我们发现递推不好推通项,换个思路。

考虑容斥

我们允许有的组可以为空,那么方案数是\(k^{n}\),写成\(C_{k}^{0}* k^{n}\)

我们考虑一个集合空的方案数(不考虑其他的空不空),那么方案数是$C_{k}^{1}* (k-1)^{n} $

同样的两个集合空的方案数:$C_{k}^{2}* (k-2)^{n} $

直到全空(显然不可能):$C_{k}^{k}* (k-k)^{n} $

根据容斥可以得到通项:
image

当然你可以二项式反演的,但我觉得这样好理解。

这个公式就可以解释当k接近n的时候,式子多是组合数,接近0时则幂较多。因为当k大的时候,\(\sum (k-i)^{n}\)接近n,基本只剩组合数。而k很小时\(\sum\) \(C_{k}^{i}\)很小,只剩下幂的形式。

一些式子:

通项推完了,看看我们能得到哪些东西。我们知道:\(S(n,n) = 1\),把\(S(n,n)\)带进这个式子,可以得出:
image

如果允许空的话,可以得出下式(其实是把容斥的过程中移项):
image

还记得之前的规定,\(S(n,0)=0\)吗?
现在我们可以给出一种理解。数学上有个Bell数,B(n)表示n个数的划分(随便几组),显然B(n)就是S(n,0)一直加到S(n,n),而B(0,0)=S(0,0),0个数显然没有划分方案,所以S(0,0)=0.

第一类stirling数

为什么要圆排列,给个背景。
有n个门,每个门对应一把钥匙。如果按正常的思路,要带n把钥匙就能把所有的门都打开,可能不能少带几把钥匙?其实只带一把就够了,把二号门的钥匙放在一号门内,以此类推。现在的问题相当于有n个门,k把钥匙,构成k组。k个组之间不能串联,也就是说不会出现拿着第一组的钥匙开了第二组的门。

于是又下面的公式(s是小写)
image

前面一半很好理解,后一半其实就是之前的n-1个门已经排好了,现在的门可以插在任意一个门的后面。

有下面的式子:
image
还有母函数:
image
是二项反演得到的。