RiverSheepSHEEP

第二类斯特林数

奔跑的心634·2023-03-30 14:39·60 次阅读

第二类斯特林数

第二类斯特林数#

第二类斯特林数{nk}表示把n不同元素划分成k相同的集合中(不能有空集)的方案数。

递推式#

{nk}={n1k1}+k{n1k}

考虑新加一个数放入一个单独的集合或放入k个已有数的集合即可。

通解#

{nk}=i=0k(1)kiin(ki)!i!

证明考虑设fi表示把n不同元素划分成i个的不同集合中(不能有空集)的方案数, gi表示可以有空集的方案数。
那么有

gi=in

gi=j=0i(ij)fj

二项式反演一下

fk=j=0k(1)kj(kj)gj

所以

{nk}=fkk!=1k!j=0k(1)kjk!(kj)!j!jn=i=0k(1)kiin(ki)!i!

其他#

有公式

nk=i=0min(n,k){ki}(ni)i!

考虑组合意义,nk即为将k不同的数放入n不同的集合,那么枚举非空集数量i,因为集合不同所以要乘i!

P5395 第二类斯特林数·行#

模板题,求同一行的斯特林数,对于通解的式子

{nk}=i=0k(1)kiin(ki)!i!

显然是一个卷积的形式,NTT即可。

posted @   RiverSheep  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
目录