斯特林数学习笔记

斯特林数

分为第一类斯特林数和第二类斯特林数。

第一类斯特林数

其意义为把 n n n 个本质不同的数分到 m m m 个环中的圆排列方案,记为 [ n m ] {n\brack m} [mn]。根据其意义,我们得到如下递推关系:
[ n m ] = [ n − 1 m − 1 ] + ( n − 1 ) [ n − 1 m ] {n\brack m}={n-1\brack m-1}+(n-1){n-1\brack m} [mn]=[m1n1]+(n1)[mn1]
就是说可以放到任意一个数的前面去。

对于第一类斯特林数,并没有通项公式,但是有一个与它相关的式子,在下面的斯特林反演中会用到。

第二类斯特林数

其意义为把 n n n 个本质不同的数分到 m m m 个盒子的方案数,记为 { n m } {n\brace m} {mn}。同样我们也可以得出递推关系:
{ n m } = { n − 1 m − 1 } + m { n − 1 m } {n\brace m}={n-1\brace m-1}+m{n-1\brace m} {mn}={m1n1}+m{mn1}
第二类斯特林数存在通项公式:
{ n m } = ∑ i = 0 m ( − 1 ) m − i i n i ! ( m − i ) ! {n\brace m}=\sum_{i=0}^{m} \frac{(-1)^{m-i}i^{n}}{i!(m-i)!} {mn}=i=0mi!(mi)!(1)miin
证明可以结合其实际意义容斥。

第二类斯特林数还有一个非常重要的公式,通常用来转化 k k k 次幂:
i k = ∑ j = 0 k ( i j ) { k j } j ! i^{k}=\sum_{j=0}^{k} {i\choose j} {k\brace j} j! ik=j=0k(ji){jk}j!

斯特林反演

反演形式:
g ( n ) = ∑ i = 0 n { n i } f ( i ) ⇔ f ( n ) = ∑ i = 0 n [ n i ] ( − 1 ) n − i g ( i ) g(n)=\sum_{i=0}^{n} {n\brace i}f(i) \Leftrightarrow f(n)=\sum_{i=0}^{n} {n\brack i}(-1)^{n-i} g(i) g(n)=i=0n{in}f(i)f(n)=i=0n[in](1)nig(i)
首先我们需要证明一个关于第一类斯特林数的性质:
∑ i = 0 n [ n i ] x i = x n ‾ \sum_{i=0}^{n} {n\brack i}x^{i} = x^{\overline{n}} i=0n[in]xi=xn
我们考虑用数学归纳法证明:

  • i = 0 i=0 i=0 显然成立。

  • i ≠ 0 i\ne 0 i=0,我们有:
    x n ‾ = ( x + n − 1 ) × x n − 1 ‾ = ( x + n − 1 ) × ∑ i = 0 n − 1 [ n − 1 i ] x i = ( n − 1 ) × ∑ i = 0 n − 1 [ n − 1 i ] x i + ∑ i = 0 n − 1 [ n − 1 i ] x i + 1 = ∑ i = 0 n − 1 ( n − 1 ) × [ n − 1 i ] x i + ∑ i = 1 n [ n − 1 i − 1 ] x i = ∑ i = 0 n x i × ( ( n − 1 ) [ n − 1 i ] + [ n − 1 i − 1 ] ) = ∑ i = 0 n [ n i ] x i \begin{align} x^{\overline{n}}&=(x+n-1)\times x^{\overline{n-1}}\\ &=(x+n-1)\times \sum_{i=0}^{n-1} {n-1\brack i}x^{i}\\ &=(n-1)\times \sum_{i=0}^{n-1} {n-1\brack i}x^{i}+\sum_{i=0}^{n-1} {n-1\brack i}x^{i+1}\\ &=\sum_{i=0}^{n-1} (n-1)\times{n-1\brack i}x^{i}+\sum_{i=1}^{n} {n-1\brack i-1}x^{i}\\ &=\sum_{i=0}^{n} x^{i} \times ((n-1){n-1\brack i}+{n-1\brack i-1})\\ &=\sum_{i=0}^{n} {n\brack i}x^{i}\\ \end{align} xn=(x+n1)×xn1=(x+n1)×i=0n1[in1]xi=(n1)×i=0n1[in1]xi+i=0n1[in1]xi+1=i=0n1(n1)×[in1]xi+i=1n[i1n1]xi=i=0nxi×((n1)[in1]+[i1n1])=i=0n[in]xi

而关于上升幂和下降幂之间存在一个关系:

x n ‾ = ( − 1 ) n ( − x ) n ‾ x^{ \overline{n}}=(-1)^{n}(-x)^{\underline{n}} xn=(1)n(x)n,展开即可。

同样反过来也是满足的。

我们对于 i k i^{k} ik 做出如下变换:
i k = ∑ j = 0 k ( i j ) { k j } j ! = ∑ j = 0 k { k j } i j ‾ = ∑ j = 0 k { k j } ( − 1 ) j ( − i ) j ‾ = ∑ j = 0 k { k j } ( − 1 ) j ∑ p = 0 j [ j p ] ( − i ) p = ∑ p = 0 k i p ∑ j = p k [ j p ] { k j } ( − 1 ) j + p \begin{align} i^{k}&=\sum_{j=0}^{k} {i\choose j} {k\brace j} j!\\ &=\sum_{j=0}^{k} {k\brace j} i^{\underline{j}}\\ &=\sum_{j=0}^{k} {k\brace j}(-1)^{j}(-i)^{\overline{j}}\\ &=\sum_{j=0}^{k} {k\brace j}(-1)^{j}\sum_{p=0}^{j} {j\brack p}(-i)^{p}\\ &=\sum_{p=0}^{k} i^{p} \sum_{j=p}^{k} {j\brack p} {k\brace j}(-1)^{j+p}\\ \end{align} ik=j=0k(ji){jk}j!=j=0k{jk}ij=j=0k{jk}(1)j(i)j=j=0k{jk}(1)jp=0j[pj](i)p=p=0kipj=pk[pj]{jk}(1)j+p
用数学归纳法可以得出 ∑ j = p k [ j p ] { k j } ( − 1 ) j + p = [ p = k ] \sum_{j=p}^{k} {j\brack p} {k\brace j}(-1)^{j+p}=[p=k] j=pk[pj]{jk}(1)j+p=[p=k]

那么回到反演式子:
f ( n ) = ∑ i = 0 n f ( i ) × ∑ j = i n [ j i ] { n j } ( − 1 ) j + i f(n)=\sum_{i=0}^{n} f(i)\times \sum_{j=i}^{n} {j\brack i} {n\brace j}(-1)^{j+i} f(n)=i=0nf(i)×j=in[ij]{jn}(1)j+i
{ n j } {n\brace j} {jn} 提前,于是可以发现就是 g ( n ) g(n) g(n),得证。

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值