自然数幂求和——第二类Strling数

这个问题似乎有很多种求法,但感觉上第二类Strling数的做法是最方便的。


问题

求下面这个式子:
i=0niksum_{i=0}^n i^k
nn的范围可以很大。


第二类Strling数

第二类Strling数记作S(n,m)S(n,m)SnmS_n^m
定义:nn个相同的球放在mm个不同的箱子里的方案数(其中的每一个箱子至少有一个球)。
很容易推出一个式子:Snm=Sn1m1+mSn1mS_n^m=S_{n-1}^{m-1}+mS_{n-1}^m。不解释。
有个通项公式,但是我不会推……不过在处理这个问题的时候用不着。


一个性质

ak=i=0kSkii!Caia^k=sum_{i=0}^kS_k^i i! C_a^i
如果直接理性地证明可能不容易,所以在这里通过它的定义来推理一下:
对于等式左边,相当于kk个不同的球放在aa个不同的箱子里。
对于等式右边,先枚举非空箱子的个数,SkiS_k^i表示kk个不同的球放在ii个相同的箱子里。乘上i!i!相当于放在不同的箱子里,再乘上非空箱子的选法CaiC_a^i
当然这条式子也可以化成:
i=0kSkij=ai+1ajsum_{i=0}^kS_k^i prod_{j=a-i+1}^a j


推理

先把结论放在前面:
i=0nik=i=0kSkij=ni+1n+1ji+1sum_{i=0}^n i^k=sum_{i=0}^kfrac{S_k^iprod_{j=n-i+1}^{n+1}j}{i+1}
证明如下:
i=0nik=a=0ni=0kSkii!Cai=i=0kSkii!a=0nCaisum_{i=0}^n i^k \ =sum_{a=0}^nsum_{i=0}^kS_k^i i! C_a^i \ =sum_{i=0}^kS_k^i i!sum_{a=0}^nC_a^i
因为a<ia<iCai=0C_a^i=0,所以
=i=0kSkii!a=inCai=sum_{i=0}^kS_k^i i!sum_{a=i}^nC_a^i
Cmn=Cm1n1+Cm1nC_m^n =C_{m-1}^{n-1}+C_{m-1}^n
a=inCai=Cii+Ci+1i++Cni=Cii+1+Cii+Ci+1i++Cni=Ci+1i+1+Ci+1i++Cni=Cn+1i+1sum_{a=i}^nC_a^i=C_i^i+C_{i+1}^i+cdots +C_n^i \ =C_i^{i+1}+C_i^i+C_{i+1}^i+cdots +C_n^i \ =C_{i+1}^{i+1}+C_{i+1}^i+cdots +C_n^i \ cdots \ =C_{n+1}^{i+1}
所以原式又可以化成下面这样:
=i=0kSkii!Cn+1i+1=i=0kSkij=ni+1n+1ji+1=sum_{i=0}^kS_k^i i!C_{n+1}^{i+1} \ =sum_{i=0}^kfrac{S_k^iprod_{j=n-i+1}^{n+1}j}{i+1}
这样式子就推完了。

原文地址:https://www.cnblogs.com/jz-597/p/11145238.html