题目大概意思
有一个很多一维数轴(从上到下,时间从前到后),每个一维数轴上会有一些区间,主人公要依次葱最上面的数轴穿到最下面的数轴,必须/不可以经过数轴上的区间,水平移动需要代价,问最小的代价是多少。
数据范围一般值域很大。
思考
首先一定有一个$dp_{i,j}$表示到第$i$个数轴,在$j$的最小代价,方程一定可以为:
\[dp_{i,j}=\min_{k} {\{dp_{i-1,k}+|j-k| \times cost\}}\]其中$cost$是一个常量。
首先可以先把绝对值拆开,分为$k \le j$和$k \geq j$两种分别用线段树维护区间最小值,但是发现无法一次性区间更新值。
于是我们可以发现,在这种情况下,只有区间的端点才有意义,因为先水平后竖直与先竖直后水平是等价的。
有了上述结论后,我们就只需要区间查单点改了。