[学习笔记]矩形面积并


常用的套路

各种合法矩形限制、合法区间对的限制,都可以转化为矩形面积并

如:省选模拟赛第十四轮[ZJOI2019]语言

还有直接矩形:(HDU 1542) Atlantis 矩形面积并——扫描线CF1086F Forest Fires

 

就是一个扫描线

线段树每个区间有一个c值,表示这个区间被完全覆盖次数。

类似李超线段树,我们把每个加入的线段分成logn份,恰好放进每个区间才行。

这个区间的c值,就加1,表示被完全覆盖一次。

计算这个区间的实际覆盖贡献cnt时,如果c>0 显然就是区间长度了。

如果不是,那就是两个儿子区间的贡献cnt和。

pushdown都不用。

 

说一下两种离散化方法:

1.转化成边界在“线”上

只需要线段树的叶子值是这个线和下一个线的距离即可。

2.转化为边界在“格”上

线段树的叶子值是一段格子。

如果相邻两行格子之间相差>1,就额外加入一行格子,代表这两行格子之间的所有格子。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM