社区讨论
求证明或证伪
CF480EParking Lot参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @md3bod8u
- 此快照首次捕获于
- 2025/07/15 00:33 7 个月前
- 此快照最后确认于
- 2025/11/04 04:28 4 个月前
我的想法是这样子的:
正着考虑操作。以行为单位,维护以每个位置为左上角的最大正方形边长。
考虑增加一次操作。它对于每一行的影响应当都是一个连续段,且从下往上段的左端点不断变大,右端点不断变小。可以暴力双指针状物维护左右端点。
然后考虑每一段会被变成什么。不难发现一段会被分成前后两个部分,前半部分横向被限制,表达在数组上是一个公差为 -1 的等差数列。后半部分纵向被限制,表达在数组上是一个平台。
每一行开一个 odt 维护等差数列段,再开一个 multiset 维护所有段的起始位置。总段数是 的。每次询问暴力查找每个 multiset 的最大值,所以总时间复杂度没算错的话应该是 。
不知道做法是不是对的,但是我现在要睡觉了。
minstdfx过来做题
回复
共 6 条回复,欢迎继续交流。
正在加载回复...