贝尔数--ex
定义贝尔数 wn, 表示把 n 个有区别的球放到若干个无区别的盒子里的方案数, 也就是把集合 {1,...,n} 划分成若干 (1 ... n) 个不相交非空子集的方案数。
递推式, 考虑枚举 1 所在的子集的大小, 即:
[egin{align}
w_n &= sum_{i=1}^n inom{n-1}{i-1}w_{n-i} + [n = 0]
\
&= sum_{i=0}^{n-1} inom{n-1}{i}w_{(n-1)-i} + [n = 0]
end{align}
]
等号右边就是 {wn} 和 {1} 二项卷积的第 n - 1 项加个 [n = 0] 的东西,设 W(z) 为 {wn} 的 EGF, 那么有:
[egin{align}
W(z) &= 1 + e^zW(z).shift.right
\
&= 1 + int e^zW(z){
m d}z
end{align}
]
两边求导:
[egin{align}
W'(z) &= e^zW(z)
\
frac{W'(z)}{W(z)} &= e^z
end{align}
]
左边那个显然就是 (ln'(W(z))W'(z) = (ln W(z))')
于是两边不定积分:
[ln W(z) = C + e^z
]
对于常数 C, 可以在上式带入 z = 0, 得到 0 = C + 1, 即 C = -1。
于是有:
[ln W(z) = e^z - 1
\
W(z) = e^{e^z - 1}
]
组合意义:(A(z) = e^z - 1), 即非空子集的 EGF,
[e^{A(z)} = sum_{i = 0} frac 1{i!} A(z)^i
]
再次考虑二项卷积的意义, 两个方案数相乘, 再乘个组合数……
(dbinom ni a_i*b_{n-i}), 稍稍翻译一下就是把 n 个标号选出 i 个分给 a, 再把剩下的分给 b, 然后剩下的就是拼接了。这是有标号对象的拼接。对象是序列的时候,还带有混合的意义。
那么 A(z)i 就是 i 个非空子集的有序拼接,顺便把标号(在这里是元素)分配完了, 要变成无序拼接就乘个 (dfrac 1{i!})。
于是答案的 EGF 就是 (e^{A(z)})。