算法(七) 扫描线

这篇博客探讨了解决图形重合后面积计算的方法,主要利用扫描线策略和线段树的数据结构。通过将大问题转化为区间问题,博主提出对矩形边的端点进行离散化,然后用线段树维护区间信息。虽然线段树的实现涉及较多细节,博主表示会留待后续补充。

扫描线

思路(面积并)

image1cba39d5beb42edc.png

对于重合之后的图形,我们按边进行划分(如图),从下往上和从左往右扫都可以,对于划分出来的小块,我们可以(hi+1 - hi) * (线段覆盖的长度),下面的为入边,遇到+1,上面的为出边,遇到-1(先进入的线段会对后面的面积计算产生一定影响,到出去为止)

思路大概就这样。。。(蛮简单其实

具体实现

首先x的坐标可能会很大,这里需要进行离散化

对于矩形的边,我们只存端点

这样转化成区间问题,使用线段树进行维护

没了。。

但是,问题就是,线段树维护这个东西需要处理很多细节,最近暂时先搁置了,改天来补。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值