有人尝试游戏速通,速通路径理想耗时 $m$,世界记录耗时 $n$。$(m\lt n)$
速通路线上有 $k$ 个难点,从起点达到第 $i$ 个难点需要花费 $t_i$ 时间(假设先前没有失误)。
每个难点有 $p_i$ 概率失误,失误后如果继续游戏需要额外花费 $d_i$,也可以选择立刻从起点重来。问最优策略下打破世界记录的期望时间。
数据保证一局游戏至少有 $\frac 1{50000}$ 的概率打破记录。
设 $\text{dp}(p,t)$ 表示当前刚通过难点 $p$,且剩余容错时间为 $t$ 时,距离打破世界记录还需要花费的时间。于是有状态转移
$$ \text{dp}(p,t) = t_{i+1}-t_i+p_{i+1}\ast \text{dp}(p+1,t)+(1-p_{i+1})\begin{cases} \text{dp}(0,n-m-1), & t\lt d_{i+1} \\ \min(\text{dp}(p+1,t-d_{i+1})+d_{i+1},\text{dp}(0,n-m-1)), & t\ge d_{i+1} \end{cases} $$
最后题目的答案为 $\text{dp}(0,n-m-1)$,但是求解 $\text{dp}$ 却需要 $\text{dp}(0,n-m-1)$,构成了循环依赖。
考虑二分 $\text{dp}(0,n-m-1)$ 的取值,然后通过 $\text{dp}$ 计算 $\text{dp}'(0,n-m-1)$。
如果 $\text{dp}(0,n-m-1)\lt \text{dp}'(0,n-m-1)$,则说明答案偏小,否则答案偏大。时间复杂度 $O\left(k(n-m)\log \left(\frac {50000n}{\text{eps}}\right)\right)$。