题目 3125

「Picture」 海报

查看题解 ↗GitHub ↗如何评测
题号
3125
时间限制
1000 ms
内存限制
128 MB
标签
扫描线线段树计算几何

墙上粘贴了n个相同形状的矩形海报。

它们的边都是垂直或水平的。

每个矩形可以被其他矩形部分或完全覆盖。

所有矩形的并集边界的长度称为周长。

现在请你编程计算这个周长是多少。

图1显示了一个包含7个矩形的图形样例:

1177_1.jpg

图2给出了它的并集边界:

1177_2.jpg

每个矩形的顶点都有一个整数坐标。

输入格式

第一行输入整数n,表示矩形的数量。

接下来n行,每行四个整数x1,y1,x2,y2x_1,y_1,x_2,y_2用以描述一个矩形,(x1,y1)(x_1,y_1)为矩形的左下角坐标,(x2,y2)(x_2,y_2)为矩形的右上角坐标。

输出格式

输出一个整数,表示矩形并集的周长。

数据范围

0≤n<50000 \le n < 5000,
−10000≤xi,yi≤10000-10000 \le x_i,y_i \le 10000

输入样例:

文本
7
-15 0 5 10
-5 8 20 25
15 -4 24 14
0 -6 16 4
2 15 10 22
30 10 36 20
34 0 40 16

输出样例:

文本
228

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3125 的公开数据

正在读取文件列表…

常用命令

题目 3125 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。