1 条题解
-
0
自动搬运
来自洛谷,原作者为

伊地知虹夏
下北泽大天使搬运于
2025-08-24 23:12:10,当前版本为作者最后更新于2025-06-06 22:17:03,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
绝世好题!!!
速报:本题复杂度已达到输入同级 !!!
注意到每个结点能淹没的点一定是一个矩形,不然可以继续扩张。
我们在矩形外面围一层 。
考虑一个作为答案的矩形长什么样,容易发现该矩形的边界一定全是 ,且不能存在一行(列) 将其分开。
一个位置的答案矩形即为最小的包含它的这种矩形的大小。
记第 个这种矩形的大小为 ,我们断言 。
考虑证明这个理论:
首先这样的矩形只能包含或相离,否则会有两个矩形互相把对方切开。
我们对矩形的包含关系建一棵树。
考虑每个矩形和它父亲矩形的重叠部分,我们证明其不可能包含一组对边。
若其包含一组对边,则该矩形会把父亲矩形划分成两个部分,不满足合法矩形要求。
那么它至少有一对长和宽是不与父亲重合的,即 。
接下来我们需要求出这些极大矩形。
考虑枚举左边界 。记 上的建筑物为 , 为 向左延伸的最远距离。
那么一个合法的上下边界 一定满足 ,这个可以单调栈求出。
对于一对合法的 ,我们可以暴力从 出发找右边界,容易证明这个的复杂度是均摊 的。
接下来就是做矩形 checkmin,求全局值。这部分由于周长是 级别的可以对每行开一个 并查集,将矩形从小到大排序后对每行做区间覆盖。排序使用计数排序即可做到时间复杂度 。
- 1
信息
- ID
- 11846
- 时间
- 3000ms
- 内存
- 1024MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者