#P5490. 【模板】扫描线 & 矩形面积并(Scanline and Rectangle Union Area)

0

【模板】扫描线 & 矩形面积并(Scanline and Rectangle Union Area)

【模板】扫描线 & 矩形面积并(Scanline and Rectangle Union Area)

题目描述

求 nn 个四边平行于坐标轴的矩形的面积并。

输入格式

第一行一个正整数 nn。

接下来 nn 行每行四个非负整数 x1,y1,x2,y2x_1, y_1, x_2, y_2,表示一个矩形的四个端点坐标为 (x1,y1),(x1,y2),(x2,y2),(x2,y1)(x_1, y_1),(x_1, y_2),(x_2, y_2),(x_2, y_1)。

输出格式

一行一个正整数,表示 nn 个矩形的并集覆盖的总面积。

样例输入 #1

2
100 100 200 200
150 150 250 255

样例输出 #1

18000

数据范围

对于 20%20\% 的数据,1≤n≤10001 \le n \le 1000。
对于 100%100\% 的数据,1≤n≤1051 \le n \le {10}^5,0≤x1<x2≤1090 \le x_1 < x_2 \le {10}^9,0≤y1<y2≤1090 \le y_1 < y_2 \le {10}^9。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1900。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 n≤1000 / 特殊: 单一满域矩形面积10^18检验64位整数 / 特殊: 完全重合与共边相邻矩形
2 8~13 中等规模 n≤20000 / Hack: 同一横坐标处多条入边与出边同时触发的扫描线顺序检验
3 25 14~19 大规模 n=100000 网格纵横交错十字条带扫描线+线段树测试
4 20~25 满规模 n=100000,坐标≤10^9 离散化极限压力测试

出处:原题链接