[BalticOI 2004] Sequence

看黄源河左偏树的论文时找过去的,结果发现了个超级牛的解法 /se ,然后莫名其妙就变成了洛谷和 darkbzoj 的最优解了 /fad

先把 $a_i$ 全部减去一个 $i$ ,然后 $b_i$ 的限制就变成了不降序列了,最后输出加回来即可

然后可以列出一个非常 $\text{naive}$ 的 $\text{DP}$ :

设 $f_{i,j}$ 为转移到第 $i$ 个,当前的 $b_i$ 等于 $j$ 的最小代价

那么转移也很 $\text{naive}$ ,在此直接列出:

$f_{i,j}=|a_i-j| + $\min\limits_{k<=j} f_{i-1,k}$

将其改写为 $f_i(x)$ ,于是转移可以写成如下式子

$f_i(x)=|a_i-x| + \begin{cases} f_{i-1}(x) & x<L \\ f_{i-1}(L) & x \ge L \end{cases}$

很明显 $f_i(x)$ 又是一个经典的凸函数

上一篇:PBOC~PPT-补充内容B(转)


下一篇:Oracle11g手动创建数据库方法