[学习笔记]矩形面积并
常用的套路
各种合法矩形限制、合法区间对的限制,都可以转化为矩形面积并
还有直接矩形:(HDU 1542) Atlantis 矩形面积并——扫描线、CF1086F Forest Fires
就是一个扫描线
线段树每个区间有一个c值,表示这个区间被完全覆盖次数。
类似李超线段树,我们把每个加入的线段分成logn份,恰好放进每个区间才行。
这个区间的c值,就加1,表示被完全覆盖一次。
计算这个区间的实际覆盖贡献cnt时,如果c>0 显然就是区间长度了。
如果不是,那就是两个儿子区间的贡献cnt和。
pushdown都不用。
说一下两种离散化方法:
1.转化成边界在“线”上
只需要线段树的叶子值是这个线和下一个线的距离即可。
2.转化为边界在“格”上
线段树的叶子值是一段格子。
如果相邻两行格子之间相差>1,就额外加入一行格子,代表这两行格子之间的所有格子。