摘要: 题目给定 $n$($n \le 10^5$)个带颜色(颜色 $\in \{0,1,2\}$)的点,求包含三种颜色点的最小周长矩形。题解采用偏序问题做法,点关系有两种偏序:一是 $x_0 < x_1 < x_2 \land y_1 < y_2 < y_0$;二是 $x_0 \le x_1 \le x_2 \land y_0 \le y_1 \le y_2$。第二种拆成两个二维偏序,扫描 $x$ 维求解,复杂度 $O(n \log n)$。第一种把两种颜色作数据、第三种作询问,扫描 $x$ 维,遇到数据修改线段树,遇到询问单点查询,线段树维护 $0$ 的最小 $-x + y$、$1$ 的最小 $-y$ 及两者最小和,保证标记时间戳顺序,复杂度也是 $O(n \log n)$。代码多次调用求解函数并处理不同变换情况。 阅读全文
posted @ 2025-02-20 20:33 wing_heart 阅读(42) 评论(0) 推荐(0)