H: Hopping Rabbit
题目大意
solution
这道题一看与矩形覆盖有关,联想到扫描线。
− 1 0 9 ≤ x 1 , x 2 , y 1 , y 2 ≤ 1 0 9 -10^9\leq x_1,x_2,y_1,y_2\leq 10^9 −109≤x1,x2,y1,y2≤109
数据范围较大,可以考虑将大矩形根据d的间隔分开,然后平移到一个 d × d d\times d d×d的正方形方框中。
举个栗子,如图,d=4,两个蓝色矩形为给定矩形。
图中红色边框外的覆盖区域同样要平移进方框内。
可以看出最后的方框内覆盖如下图
通过扫描线横向扫描得到每一段纵列的覆盖情况,若没有被填满,则在这一纵列上存在一点是无覆盖的。
还是以上图为例,在第4列时,线段树数组中 t r e e [ 1 ] . l e n tree{[1].len} tree[1].len即总的有效覆盖长度为 2 < d =