求独立矩形个数
标题随便取的,没找到哪里有题目。
题意
给定 (n(1e5)) 个矩形,问有多少个矩形满足:和其他任意矩形都没有互相覆盖。
题解一
求出严格在矩形上方、下方、左边、右边的矩形,扣除严格在四个角的(之前重复算了)。
前者很好求,后者其实就是求区域内点的个数,扫描线即可解决。
题解二
计算内部格子的面积和(如果一个单位格子被覆盖了两次,这个格子面积就是2)。
如果面积和与矩形面积相等,那么这个矩形就是符合条件的。
首先考虑 (1*n) 的矩形怎么求面积和。我们考虑从左到右扫描,那么 (1*n) 的矩形面积和=左无穷到右边-左无穷到右边。
左无穷到某条边的面积和怎么求?(好麻烦不想写了)
表示出来发现是可以线段树维护区间修改、区间和查询的。询问需要离线做。