2 条题解
-
0
一个矩形用了 列、高 行,它只要求"这 列在这 行里全是空的",具体是哪 列无所谓。所以只要知道
高度至少为 的列一共有几列
就够了。
列可以任意交换,等价于说:任意一列子集都能被聚到一起变成连续的若干列。所以「选一个不覆盖障碍物的矩形」等价于
选一个行区间 ,把所有在这个行区间内全是 0 的列都选上(多选不亏),面积 。
于是枚举矩形的下边 ,同时维护每一列上"以 结尾的连续 0 的个数" 。对某个高度 ,能用的列正是满足 的那些;把 从大到小排序后,第 大的 乘上 ,就是"高度至少为这个 的列有 列"时能得到的面积,对所有 取最大值即可。
信息
- ID
- 2776
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 13
- 已通过
- 9
- 上传者