扫描线略解

问题引入

n n n 个矩形的面积并。 1 ≤ n ≤ 1 0 5 1\leq n\leq 10^5 1n105

离散化坐标

首先,通过离散化,可以让矩形的坐标从 1 0 9 10^9 109 级别降至 1 0 5 10^5 105 级别。

尽管如此,开一个 N 2 N^2 N2 的二维数组来存储坐标系里的每个点,仍然还会导致空间超限。

扫描线

本章节中,部分图片来自这里

在这里插入图片描述
看到图中的虚线了吗?想想有一条平行于 y 轴的直线从左往右扫过图形,那么这 n n n 个矩形的面积并就转化成:每个时刻这条直线与图形相交的线段长之和。
在这里插入图片描述

我们发现,一个时刻,相交的线段长可以用线段树维护并算出来,于是我们只要先把矩形排序,让这条线从左往右扫一次图形就统计出面积交了。时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)

例题

n n n 个矩形的面积并。 1 ≤ n ≤ 1 0 5 1\leq n\leq 10^5 1n105

参考代码
(略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值