专栏文章

ABC429F

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minhjwmq
此快照首次捕获于
2025/12/02 02:31
3 个月前
此快照最后确认于
2025/12/02 02:31
3 个月前
查看原文
考虑矩形只有三行的性质该怎么利用。
发现我们最终的轨迹中,一定是从左向右;因此可以合并每一列,只需要计算 ii+1i\rightarrow i+1 中每行转移的最小值即可。
这样的话,每次修改 (x,y)(x,y) 时,我们实际上只需要考虑修改 x1xx-1\rightarrow xxx+1x\rightarrow x+1 的信息。
可以在每列维护一个长和宽均为 33 的矩阵 aaai,ja_{i,j} 代表从当前列的第 ii 行到第 jj 列的最小距离。这个是容易维护的。
对于列与列之间的转移,我们可以类似于矩阵乘法地进行转移,即枚举两列各从某个位置走到一个相同的位置,于是可以快速求出从 (i,j)(i,j) 走到 (i+1,k)(i+1,k) 的最小距离。这个操作显然具有结合律,因此可以用线段树进行维护;每次单点修改,全局查询。
时间复杂度是 O(nlogn)O(n\log n),视 n,qn,q 同阶。

评论

0 条评论,欢迎与作者交流。

正在加载评论...