上升幂转下降幂如何避免斯特林数?
观前提示:这可能浪费你人生中宝贵的几分钟。
万物起源
一切要从神秘的校测说起,考到了对上升幂与组合数乘积求和。
朴素的做法由上升幂转普通幂再转下降幂,同时出现了第一类和第二类斯特林数,递推复杂度至少带平方。也就是这个式子:
如果说单看这个式子,第二类斯特林数是有封闭形式的,但是第一类斯特林数的确难以处理,仍然要平方递推。
难道这种思路就走不下去了吗?
混凝土神教
在《具体数学》P211 不为人注目的角落里有着这样一个公式‘(6.9)的推广’:
这个公式看上去极为优美,并且刚好可以简化上面的斯特林数,即得到:
这时就算套上求和,你也已经可以在线性时间复杂度解决这道题了。
善于学习的 \(czx\) 在阅读《具体数学》时特别留意了这个公式并场切了这道题,带一只 \(\log\) 跑得比国赛选手的线性还快。
但是这个公式《具体数学》并没有给出更多的证明。事实上,这个公式看起来并不显然,无从下手。
组合意义证明
询问 \(harryzhr\),他给出了一个组合的证明:
考虑右式的组合意义。即在 \(n\) 个数中构造 \(k\) 个轮换,再把 \(k\) 个轮换划分成 \(m\) 个集合。发掘其等价于直接在 \(n\) 个数中划分出 \(m\) 个确定起始点的排列。初始选定方案数为 \({n\choose m}\),剩余 \(n-m\) 个数放入 \(m\) 个起点之后,每填一个位置又会产生一个额外的位置,所以方案数是 \(m^{\overline {n-m}}\)。
根据定义,\(m^{\overline {n-m}}\) 和 \((n-1)^{\underline{n-m}}\) 是等价的,得证。
(其实没咋听懂,感性理解即可)
更简易的证明
\(xwb\) 给出了更为简易的证明。
前置:下降幂的二项式定理
对于 \(n\in N\),有:
证明:
右式有
化成组合数,再范德蒙德卷积,即
得到:
得证。
正片:一步秒杀
\(i\) 的上升幂可以根据定义化成下降幂:
直接展开:
是的,这就证完了。
这样一看,《具体数学》中这条公式根本就是定义展开的的副产品罢了,闹麻了。

浙公网安备 33010602011771号