luogu#P4261. [Code+#3] 白金元首与克劳德斯

[Code+#3] 白金元首与克劳德斯

题目背景

千里白金雪满天 烽火江山起狼烟 分手竟兵刃相见

1941.7.

苏联军队出乎意料的反抗力量、前线德军的补给困难 —— 元首 Adolf 望着天空的云层陷入沉思……

题目描述

xyxy-直角坐标平面的天空中,有 nn 片四边平行于坐标轴的矩形云朵。每一片云由一个五元组 (xi,yi,wi,hi,di)(x_i, y_i, w_i, h_i, d_i) 表示,其中 (xi,yi)(x_i, y_i) 为云左下角顶点的坐标,wiw_i 表示云在 xx 轴方向的宽度,hih_i 表示云在 yy 轴方向的长度,di{0,1}d_i \in \{0, 1\} 为云的移动方向(00 为横向,11 为纵向)。具体来说,满足 di=0d_i = 0 的云沿 xx 轴正方向以每秒 11 长度单位的速率不断移动,而满足 di=1d_i = 1 的云沿 yy 轴正方向以每秒 11 长度单位的速率不断移动。

元首发现,所有的云在此时没有重叠的面积。他将这个时刻记作时刻 00。他想知道,对于 (,+)(-\infty, +\infty) 中的任意时刻和平面上的任意一个点,最多可以同时被多少片云覆盖。一个点在某时刻被一朵云覆盖当且仅当这个点位于该时刻云朵所处矩形的内部(不含边界)

你需要编写程序帮助元首满足他的好奇心。

输入格式

输入的第一行包含一个正整数 TT —— 数据的组数。接下来包含 TT 组数据,格式如下,数据间没有空行。

  • 11 行:一个正整数 nn —— 云朵的数量。
  • 接下来 nn 行:每行五个空格分隔的整数 xix_iyiy_iwiw_ihih_idid_i —— 描述一朵云在时刻 00 的状态。

输出格式

对于每组数据输出一行 —— 在任意时刻,覆盖平面上任意一个点的云朵数目的最大值。

3
1
0 0 1 1 0
3
0 -10 10 10 1
10 0 10 10 1
-10 0 10 10 0
3
0 10 10 10 1
10 20 10 10 1
10 0 10 10 0

1
2
2

提示

11 组数据中,任意时刻的任意一个点至多被惟一的一片云覆盖。

22 组数据中,下图从左至右分别示意时刻 00、时刻 44、时刻 1111 的情形。

33 组数据中,时刻 00 对应第 22 组数据时刻 2020 的情形。在该组数据中,(20,0)(-20, 0) 内的时刻均有 22 片云覆盖同一个点。请注意考察范围 (,+)(-\infty, +\infty) 包含时刻 00 之前的时间段。

对于所有数据,有 1T151 \leq T \leq 155×108xi,yi5×108-5\times 10^8 \leq x_i, y_i \leq 5\times 10^81wi,hi5×1081 \leq w_i, h_i \leq 5\times 10^8di0,1d_i \in {0, 1}

Credit:https://www.luogu.org/discuss/show?postid=35727