很若只的研究

做完前面那道 CF 有感。

首先这是纯粹的自己研究的东西,没有任何教学价值,想找资料的去别处找吧()本文都省略求和积上下限因为我懒。

推个式子。

\[\left[x^ay^b\right]\prod (a_ix + b_iy + c_i) \]

这玩意

组合意义等价于:有 \(n\) 个球,每个球有 \(a_i\) 种方案涂成红色,\(b_i\) 种方案涂成蓝色,\(c_i\) 种方案不涂,问涂成 \(a\) 个红色和 \(b\) 个蓝色的方案数。

那么可以这样。

\[[x^{a + b}] \prod \left((a_i + b_i) x + c_i\right) \]

然后这玩意表示的就是,\(n\) 个球,涂出 \((a + b)\) 个有色球的方案数。

然后就要把 \(a + b\) 个有色球标准的分成 \(a\) 个红色球和 \(b\) 个蓝色球。

但是接下来这一步不能直接组合数。

再套一个多项式?

套套套!

原本可以这么做的原因是什么?每个数有一种可能去红球,一种可能去蓝球。

所以是:

\[[x ^ {a}] (x + 1)^{a + b} = \binom{a + b}{a} \]

那么这里就是

\[[x^a] \prod (a_ix + b_i) \]

把这俩乘起来就得到答案了

\[\left[x^ay^b\right]\prod (a_ix + b_iy + c_i) = \left([x^a] \prod (a_ix + b_i)\right) \left ([x^{a + b}] \prod \left((a_i + b_i) x + c_i\right)\right) \]

更进一步地,看起来这玩意可以推广到无穷多项。

\[[x_1 ^ {q_1} \dots x _n ^ {q_n}] \prod \sum a_{ij} x_j \\ = \left([x^{q_1}] \prod (a_{i1}x + a_{i2}) \right)\left([x^{q_1 + q_2}] \prod ((a_{i1} + a_{i2}) x + a_{i3}) \right) \ldots \left(\left[x^ {\sum _ {i = 1} ^ {n - 1} q_i}\right] \prod \left(\sum_{i = 1} ^ {n - 1} a_{ij} \right)x + a_{in} \right) \]

反正就是把这一坨乘起来就行了。

那理论上这玩意要做 \(n\) 项,每次都要分治 FFT 一下,时间复杂度 \(O(n ^ 2 \log^2 n)\)

暂时没什么用的样子()

有什么办法通过推柿子优化下吗?这就是我这几天要研究的问题了。

因为众所周知第一类斯特林数是可以 \(n \log n\) 的嘛。

posted @ 2024-06-03 21:29  AzusidNya  阅读(25)  评论(0)    收藏  举报