斯特林数相关

Posted forwardfuture

tags:

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

最近做题时发现斯特林数这一块不怎么成系统,于是从各路神仙的博客里学习了一下,因此也就有了这篇博客

主要学习了这位神仙的博客:第二类斯特林数总结

第二类斯特林数

第二类斯特林数 \\(\\beginBmatrixn\\\\i\\endBmatrix\\) 代表将 \\(n\\) 个元素划分到 \\(i\\) 个集合里的方案数,也可以理解为将 \\(n\\) 个不同的小球放入 \\(i\\) 个相同的盒子里的方案数,递推公式为
\\[ \\beginBmatrixn\\\\i\\endBmatrix=\\beginBmatrixn-1\\\\i-1\\endBmatrix+i\\times \\beginBmatrixn-1\\\\i\\endBmatrix\\tag1.1 \\]
即讨论第 \\(n\\) 个元素是放进已有的 \\(i\\) 个盒子里还是放到一个新盒子里

直接递推求是 \\(O(n^2)\\) 的,但我们还有一个等式
\\[ n^m=\\sum\\limits_i=0^n\\beginBmatrixm\\\\i\\endBmatrixi!\\dbinomni\\tag1.2 \\]
二项式反演一下得到
\\[ \\beginBmatrixm\\\\n\\endBmatrix=\\frac1n!\\sum\\limits_i=0^n(-1)^n-i\\dbinomnii^m\\tag1.3 \\]
然后就能 \\(\\textFFT\\)

其实式 \\((1.3)\\) 也可以从容斥的角度思考,其中 \\(\\dbinomni\\) 是选择 \\(i\\) 个盒子必须为空的方案数,而又因为这些计算都是在盒子不同的基础上进行的,所以最后还要除以 \\(n!\\) 消去有序性

另外,对于式 \\((1.2)\\) ,我们也可以将其写成
\\[ n^m=\\sum\\limits_i=0^m\\beginBmatrixm\\\\i\\endBmatrixn^\\underlinei\\tag1.4 \\]
我们将在下面看到这个等式的用途

第一类斯特林数

第一类斯特林数分为有符号和无符号两种,设 \\(s_s\\) 表示有符号第一类斯特林数,\\(s_u\\) 为无符号第一类斯特林数,两者的关系为 \\(s_s(n,m)=(-1)^n+ms_u(n,m)\\)

在这里我们重点讨论无符号第一类斯特林数

无符号第一类斯特林数 \\(\\beginbmatrixn\\\\i\\endbmatrix\\) 的含义为将 \\(n\\) 个元素分到 \\(i\\) 个圆排列中的方案数,递推公式为
\\[ \\beginbmatrixn\\\\i\\endbmatrix=\\beginbmatrixn-1\\\\i-1\\endbmatrix+(n-1)\\times \\beginbmatrixn-1\\\\i\\endbmatrix\\tag2.1 \\]
即考虑在已有的 \\(n-1\\) 个元素中的一侧插入第 \\(n\\) 个元素扩大圆排列或单独把第 \\(n\\) 个元素作为一个圆排列

它有一些不错的性质
\\[ \\sum\\limits_i=0^n\\beginbmatrixn\\\\i\\endbmatrix=n!\\tag2.2 \\]
以及
\\[ \\beginbmatrixn\\\\1\\endbmatrix=(n-1)!\\tag2.3 \\]
对于式 \\((2.2)\\) ,左边的式子其实在枚举由 \\(i\\) 个循环组成的置换的个数,而 \\(n\\) 个元素的排列与置换一一对应,那么显然等式成立

对于式 \\((2.3)\\) ,我们考虑展开 \\(\\beginbmatrixn\\\\1\\endbmatrix\\)
\\[ \\beginbmatrixn\\\\1\\endbmatrix=(n-1)\\beginbmatrixn-1\\\\1\\endbmatrix=(n-1)(n-2)\\beginbmatrixn-2\\\\1\\endbmatrix=...=(n-1)!\\tag2.4 \\]
其中展开出来的 \\(\\beginbmatrixn\\\\0\\endbmatrix\\) 因等于 \\(0\\) 而被舍弃

类似于式 \\((1.4)\\),第一类斯特林数也有类似的等式
\\[ \\sum\\limits_i=0^ns_u(n,i)x^i=x^\\overlinen\\tag2.5 \\]

\\[ \\sum\\limits_i=0^ns_s(n,i)x^i=x^\\underlinen\\tag2.6 \\]
根据 \\(s_s\\)\\(s_u\\) 的关系,式 \\((2.6)\\) 也可以写为
\\[ \\sum\\limits_i=0^n(-1)^n-is_u(n,i)x^i=x^\\underlinen\\tag2.7 \\]
用数学归纳法证明式 \\((2.7)\\)
\\[ x^\\underlinen+1\\\\=x^\\underlinen\\times (x-n)\\\\=(x-n)\\sum\\limits_i=0^n(-1)^n-is_u(n,i)x^i\\\\=\\sum\\limits_i=1^n+1(-1)^n+1-is_u(n,i-1)x^i+\\sum\\limits_i=0^n(-1)^n+1-ins_u(n,i)x^i\\\\=s_u(n+1,n+1)x^n+1+\\sum\\limits_i=0^n(-1)^n+1-i(s_u(n,i-1)+ns_u(n,i))x^i\\\\=s_u(n+1,n+1)x^n+1+\\sum\\limits_i=0^n(-1)^n+1-is_u(n+1,i)x^i\\\\=\\sum\\limits_i=0^n+1(-1)^n+1-is_u(n+1,i)x^i \\]
那么对于式 \\((2.5)\\) 同理也可证明

从另一个角度来看,\\(x^\\overlinen\\)\\(x^\\underlinen\\) 分别可看作无符号第一类斯特林数 \\(s_u\\) 与有符号第一类斯特林数的 \\(s_s\\) 的生成函数的封闭形式

斯特林反演

斯特林反演说的是这样一件事情:有两个数列 \\(\\f_n\\\\)\\(\\g_n\\\\) ,那么若有
\\[ f_n=\\sum\\limits_i=0^n\\beginBmatrixn\\\\i\\endBmatrixg_i\\tag3.1 \\]
就有
\\[ g_n=\\sum\\limits_i=0^n(-1)^n-i\\beginbmatrixn\\\\i\\endbmatrixf_i\\tag3.2 \\]
有了上面的一些推导我们就不难证明其正确性了

由式 \\((1.4)\\) 与式 \\((2.7)\\) 可知,若令 \\(f_i=x^i\\)\\(g_i=x^\\underlinei\\) ,那么显然上面的关系成立,那么有
\\[ F=A\\times G,G=B\\times F\\tag3.3 \\]

\\[ F=A\\times B\\times F\\tag3.4 \\]
可以看出 \\(A\\times B=I\\) ,即 \\(A=B^-1\\)

说明 \\(a_n,i=\\beginBmatrixn\\\\i\\endBmatrix\\) 构成的矩阵与 \\(b_n,i=(-1)^n-i\\beginbmatrixn\\\\i\\endbmatrix\\) 构成的矩阵互逆

那么对于任意的 \\(f_n\\)\\(g_n\\) ,上述关系一定也还成立

而如果我们暴力将式 \\((2.7)\\) 代入式 \\((1.4)\\) 中,也可以得到同样的结论:
\\[ n^m\\\\=\\sum\\limits_i=0^m\\beginBmatrixm\\\\i\\endBmatrixn^\\underlinei\\\\=\\sum\\limits_i=0^m\\beginBmatrixm\\\\i\\endBmatrix\\sum\\limits_j=0^i(-1)^i-j\\beginbmatrixi\\\\j\\endbmatrixn^j\\\\=\\sum\\limits_i=0^mn^i\\sum\\limits_j=i^m(-1)^j-i\\beginbmatrixj\\\\i\\endbmatrix\\beginBmatrixm\\\\j\\endBmatrix \\]
那么显然有
\\[ [i==m]=\\sum\\limits_j=i^m(-1)^j-i\\beginbmatrixj\\\\i\\endbmatrix\\beginBmatrixm\\\\j\\endBmatrix\\tag3.5 \\]
即说明 \\(a_n,i=\\beginBmatrixn\\\\i\\endBmatrix\\) 构成的矩阵与 \\(b_n,i=(-1)^n-i\\beginbmatrixn\\\\i\\endbmatrix\\) 构成的矩阵互逆

当然第一类斯特林数也可以反演到第二类斯特林数,只不过可能要依据 \\(i\\)\\(m\\) 的奇偶性改一改 \\(-1\\) 的指数

如果有写的不到位的地方我会再补充一点...

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

Marked

自然数幂和

Stirling数反演与自然数幂和

斯特林数欧拉数的求和技术及应用

知识点简单总结——斯特林数斯特林反演

斯特林数贝尔数与伯努利数基础