题目名称 3408. [POJ 1151]亚特兰蒂斯
输入输出 atlantis.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2020-05-27加入
开放分组 全部用户
提交状态
分类标签
扫描线法 离散化 线段树
查看题解 分享题解
通过:10, 提交:29, 通过率:34.48%
Gravatar嗨嗨嗨 100 1.484 s 7.27 MiB C++
Gravatar嗨嗨嗨 100 1.490 s 8.25 MiB C++
Gravatar┭┮﹏┭┮ 100 1.812 s 39.31 MiB C++
Gravatarlihaoze 100 2.204 s 6.18 MiB C++
Gravataryrtiop 100 2.536 s 14.40 MiB C++
Gravatar宇战 100 2.653 s 30.15 MiB C++
Gravatarsyzhaoss 100 2.801 s 15.72 MiB C++
GravatarBenjamin 100 2.878 s 6.67 MiB C++
GravatarLGLJ 100 3.385 s 77.91 MiB C++
Gravatar宇战 100 3.748 s 30.16 MiB C++
本题关联比赛
SYOI 专题 5:扫描线
关于 亚特兰蒂斯 的近10条评论(全部评论)
多组数据记得重置!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(错了3次)
Gravatar┭┮﹏┭┮
2023-09-07 17:26 3楼
学习扫描线算法
Gravatarlihaoze
2022-09-28 20:28 2楼
pushup里到叶子结点的时候len值一定要归零!!!
Gravataryrtiop
2021-07-06 15:33 1楼

3408. [POJ 1151]亚特兰蒂斯

★★★   输入文件:atlantis.in   输出文件:atlantis.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

有几个古希腊书籍中包含了对传说中的亚特兰蒂斯岛的描述。

其中一些甚至包括岛屿部分地图。

但不幸的是,这些地图描述了亚特兰蒂斯的不同区域。

您的朋友 $Bill$ 必须知道地图的总面积。

你自告奋勇写了一个计算这个总面积的程序。

【输入格式】

输入包含多组测试用例。

对于每组测试用例,第一行包含整数 $n$,表示总的地图数量。

接下来 $n$ 行,描绘了每张地图,每行包含四个数字$x_1,y_1,x_2,y_2$(不一定是整数),$(x_1,y_1)$和$(x_2,y_2)$分别是地图的左上角位置和右下角位置。

注意,坐标轴 $x$ 轴从上向下延伸,$y$ 轴从左向右延伸。

当输入用例 $n=0$ 时,表示输入终止,该用例无需处理。

【输出格式】

每组测试用例输出两行。

第一行输出"Test case #k",其中 $k$ 是测试用例的编号,从 $1$ 开始。

第二行输出"Total explored area: a",其中 $a$ 是总地图面积(即此测试用例中所有矩形的面积并,注意如果一片区域被多个地图包含,则在计算总面积时只计算一次),精确到小数点后两位数。

在每个测试用例后输出一个空行。

【样例输入】

2
10 10 20 20
15 15 25 25.5
0

【样例输出】

Test case #1
Total explored area: 180.00

【样例解释】

【数据范围】

$1≤n≤10000,0≤x_1<x_2≤100000,0≤y_1<y_2≤100000$;

【来源】

《算法竞赛进阶指南》