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})\)。