catalan数与stirling数学习笔记(下)

(下)stirling数

stirling数也是组合数学里面一个非常实用的东西,它分为两类,下面我们来分别对两类进行探讨吧!

第一类stirling数

按照惯例我们首先还是贴维基百科的资料:

第一类Stirling数是有正负的,其绝对值是n个元素的项目分作k个环排列的方法数目。常用的表示方法有。

换个较生活化的说法,就是有n个人分成k组,每组内再按特定顺序围圈的分组方法的数目。例如s(4,2)=11:

{A,B},{C,D}
{A,C},{B,D}
{A,D},{B,C}
{A},{B,C,D}
{A},{B,D,C}
{B},{A,C,D}
{B},{A,D,C}
{C},{A,B,D}
{C},{A,D,B}
{D},{A,B,C}
{D},{A,C,B}

给定s(n,0)=0,s(1,1)=1,有递归关系s(n,k)=s(n-1,k-1) + (n-1) s(n-1,k)
递推关系的说明:考虑第n个物品,n可以单独构成一个非空循环排列,这样前n-1种物品构成k-1个非空循环排列,有s(n-1,k-1)种方法;也可以前n-1种物品构成k个非空循环排列,而第n个物品插入第i个物品的左边,这有(n-1)*s(n-1,k)种方法。

还有其他的一些性质感觉我这种水平不太用得上的就不看了.上面的东西也不是什么太难的东西,接下来我们来看第二类吧。

第二类stirlings数

第二类Stirling数是n个元素的集定义k个等价类的方法数目。常用的表示方法有
换个较生活化的说法,就是有n个人分成k组的分组方法的数目。例如有甲、乙、丙、丁四人,若所有人分成1组,只能所有人在同一组,因此S(4,1)=1;若所有人分成4组,只能每人独立一组,因此S(4,4)=1;若分成2组,可以是甲乙一组、丙丁一组,或甲丙一组、乙丁一组,或甲丁一组、乙丙一组,或其中三人同一组另一人独立一组,即是:

{A,B},{C,D}
{A,C},{B,D}
{A,D},{B,C}
{A},{B,C,D}
{B},{A,C,D}
{C},{A,B,D}
{D},{A,B,C}

因此S(4,2)=7。

给定S(n,n)=S(n,1)=1,有递归关系S(n,k) = S(n-1,k-1) + k S(n-1,k)
递推关系的说明:考虑第n个物品,n可以单独构成一个非空集合,此时前n-1个物品构成k-1个非空的不可辨别的集合,有S(n-1,k-1)种方法;也可以前n-1种物品构成k个非空的不可辨别的集合,第n个物品放入任意一个中,这样有k*S(n-1,k)种方法。

这就是第二类stirling数,递推式跟第一类的相比只有细微的差别,要是一个不难理解的东西.

那么到此我们对stirling数就有了一定的了解,其实仔细想想我们不难发现,这两个东西不就是dp么…不管怎样,也算是对推dp方程有了一定的启发,那么本文就到此结束了.
艾玛我捉这篇破东西都能拖好几天...

你可能感兴趣的:(catalan数与stirling数学习笔记(下))