Loading

AT_arc206_e [ARC206E] Rectangle Coloring

很喜欢这种不需要用任何算法的题目。

首先不妨考虑一下操作次数的下限,不难发现是 \(4\),因为每个角你都要单独花费一次操作去覆盖。

那么比较成熟的想法便是,从四个边界选出最小值和次小值。

但是有一个问题是此时四个角确实覆盖满了,但是由于保证了最小性,所以中间可能空出一块来,我们将说明操作只可能如下所言:

  1. 重新调整四个边界覆盖角的 \(8\) 个点位置。
  2. 再额外花费一个矩形将中间的空缺填满。

那么你要问,为什么我不可以花费多个矩形,可能会更优呢?因为你要将那一块都给覆盖满,如果花费多个矩形,必然可以取出一个足以覆盖原矩形的点的子集,此时花费更优。

比较显然的是,如果是第一种情况,我们可以重新枚举其在哪里相交,如果是第二种情况,额外选的两个点要么就是上下关系,要么就是左右关系,不然的话五个矩形必有两个出现覆盖的关系可以直接删掉较小的那个矩形。

代码还未实现。

posted @ 2026-01-14 19:55  Alexande  阅读(0)  评论(0)    收藏  举报