BSOJ6151题解

能够注意到,题意相当于让我们对一段前缀矩阵区间加,然后求某个位置的历史最值。

历史最值很容易转化成矩阵来维护,具体地:

\[hmi=\min(hmi,mi+x) \]

\[mi=\min(INF,mi+x) \]

\[\begin{bmatrix}hmi'\\mi'\end{bmatrix}=\begin{bmatrix}hmi\\mi\end{bmatrix}\begin{bmatrix}0,x\\INF,x\end{bmatrix} \]

于是我们相当于对一段前缀矩阵进行矩阵乘法,但是注意到每次修改的矩阵是类似 \([1,x][x,n]\) 的。

我们先离线把询问的位置拉出来,注意到询问的位置只有 \(O(n)\) 个。

然后我们直接对这个建一个 kdt,在上面进行修改。

复杂度 \(O(m\sqrt{n})\)

posted @ 2022-03-22 11:46  Prean  阅读(33)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};