ARC063 简要题解

ARC063 简要题解

A

模拟即可

B

算下有多少个极大差就行了

C

考虑一个点到另一个点的路径是什么情况

必然是一段上升的加一段下降的, 单增单减也行

然后就可以考虑一个贪心策略了

每次选出最小的, 给他周围没有附权值的附一个 这个最小点权值 + 1 的权值

不难发现这样是满足上面那个条件的

不合法情况中间判一下就行

D

考试考过, 想出来了, 写不出来...

考虑最差矩形的周长是多少, 发现是 (max(w, h)+2)

那么一个矩形的周长要比这个长必须要满足该矩形过 (x = frac{w}{2})(y = frac{h}{2})

然后转化一下题意, 一个合法矩形即矩形内部没有点, 边界随便

坐标轴转一下就行了, 所以只对 (y = frac{h}{2}) 讨论

那么考虑扫描线, 将当前扫描线扫到的坐标当做矩形的右边界

发现 (y = frac{h}{2}) 这条直线上方从左往右能够取到的矩形的上边界是单调不降的

这个东西可以单调栈维护

直线下方同理

有点难写

原文地址:https://www.cnblogs.com/ztlztl/p/13578497.html