【题解】CF1842G dp 拆式子 数学

令 第 $i$ 次操作的位置为 $pos_i$,则要求下式的期望:

$$ \prod_{i\in[1,n]}(a_i+v\sum_{j\in[1,m]}[pos_j\leq i]) $$

拆式子,因为乘法分配律,每个括号里选一项的乘积对所有方案求和。

现在这个括号要么选 $a_i$,要么选一个 $v[pos_j\leq i]$。

关心目前选择 $v[pos_j\leq i]$ 的情况,注意我们是一项一项地从左到右选择括号内的东西,这个括号内的 $v[pos_j\leq i]$ 的选择方案之和之前选择了 $v[pos_j\leq i]$ 的项有关。

记录之前选择 $v[pos_j\leq i]$ 的项的不同的 $j$ 的个数为 $c$,即让 $f_{i,c}$ 表示前 $i$ 个括号,选择 $v[pos_j\leq i]$ 的项的不同的 $j$ 的个数为 $c$ 的乘积的期望,显然 $c$ 是 $\leq i$ 的。

接下来要么选择一个之前已经钦定 $\leq$ 某个更小的 $i$ 的 $v[pos_j\leq i]$,其方案数为 $c$,转移系数为 $c\times v$。

要么选择一个新的 $pos_j$ 并钦定其 $\leq i$,总共有 $m-c$ 种项可以选择,其 $pos\leq i$ 的概率是 $\frac i n$,所以转移系数为 $(m-c)\times v\times \frac i n$。

当然,选择 $a_i$ 的转移系数为 $a_i$。

时间复杂度 $O(n^2)$。

posted @ 2023-06-28 12:20  寂静的海底  阅读(4)  评论(0编辑  收藏  举报  来源