OI关于斯特林数的简单理解

Posted dudujerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OI关于斯特林数的简单理解相关的知识,希望对你有一定的参考价值。

斯特林数分为第一类斯特林数:S1(n,k)和第二类斯特林数:S2(n,k)。

S1(n,k)代表在n个元素中选出k个环的方案数,S2(n,k)代表在n个元素中选出k个非空集合的方案数,

不同之处在于,在第一类斯特林数中我们在意这些环的顺序,在第二类斯特林数中我们不在意顺序,但在意集合中装了什么(感觉类似排列组合中的有序组合(P)和无序组合(C))。

 

第一类斯特林数的公式是:

S1(n,m)=(n-1)*S1(n-1,m)+S1(n-1,m-1)

如何推导出这些:

我们在n-1的时候可能有两种状态:

1.已有m个环, 从某个元素数>1的环中加入一个元素,转移到m个环的状态,环有顺序,共有n-1个元素,所以可以插入到任意一个元素的左边,因此有n-1个种可能

2.已有m-1个环,直接把这个元素作为一个新环,转移到m个环的状态,因为只加入一个环,所以没有其他状态

根据状态1得到(n-1)*S1(n-1,m);根据状态2得到S1(n-1,m-1),合起来就是第一类斯特林数公式:S1(n,m)=(n-1)*S1(n-1,m)+S1(n-1,m-1)

 

第二类斯特林数的公式是:

S2(n,m)=m*S2(n-1,m)+S2(n-1,m-1)

如何推导出这些:

在n-1的时候可能有两种状态:

1.已有m个集合,因为不考虑顺序,可以插入m个集合中任意的集合,所以有m种可能

2.已有m-1个集合,直接把这个元素作为一个新集合,没有其它状态

根据状态1得到m*S1(n-1,m);根据状态2得到S1(n-1,m-1),合起来就是第二类斯特林数公式:S2(n,m)=m*S2(n-1,m)+S2(n-1,m-1)

 

以上是关于OI关于斯特林数的简单理解的主要内容,如果未能解决你的问题,请参考以下文章

第二类斯特林(Stirling)数的简单介绍和计算(小球入盒)

关于线性基的学习与理解

bzoj5093:图的价值(第二类斯特林数+NTT)

关于时间复杂度空间复杂度的理解

组合数学

关于OI本地简易评测姬3.0发布的通知