2024.10.30

First Post:

Last Update:

Word Count:
303

Read Time:
1 min

[HAOI2007] 修筑绿化带

弱化版:[HAOI2007] 理想的正方形

求完前缀和后转化为求矩形最值。

本来以为是经典问题,二维 ST 表或者树套树做一下就行了,结果发现复杂度不能带两个

但这道题的矩形大小是固定的,所以可以用单调队列求。

设大矩形的大小为 ,待求矩形的大小为 ,且假设要求的是最小值。

如图所示,我们把一个小矩形的每一列都缩成一个点(缩成这一列的最小值)。

这样我们会得到一个序列,只需要求这个序列的最小值即可。

因为我们矩形的大小是固定的,所以第一步就是对大矩形的每一列做一次窗口长度为 的滑动窗口。

做完这个东西以后我们会得到一个新的矩形,然后对这个新的矩形的每一行做一次窗口长度为 的滑动窗口,此时每个窗口得到的最小值对应的就是原来大矩形中那个小矩形的最小值。

复杂度