对于一个高维空间的坐标限制,我们称之为 维正交范围问题,我们可以利用扫描线将其降维。也就是说,扫描线维护一维,数据结构维护另一维。
差分处理
如果维护的信息可以差分,那么直接差分掉。比如矩形面积并问题,静态区间内不同数个数问题。将问题转化为矩形操作,然后扫描线维护。
此问题的基础形态是二维数点:平面上有 个点 ,每次查询一个矩形内的点的个数。此矩形是一个 4-side 的矩形,可以通过差分的方式将其转化为 3-side,然后再扫描线维护一下变成 2-side,这样就成了一个平凡的单点修改区间查询的问题。
也就是说,差分和扫描线是我们的降维手段,最后一个 2-side 的问题就是平凡的,使用合适的数据结构(区间修改单点查询,单点修改区间查询,区间修改区间查询)维护即可。
这是二维数点的模板,其转化成单点加查询区间和。
矩形面积并
模板。转化成网格图上去做,扫描线扫描矩形的竖线,转化成区间加查询全局 的数的个数,因此维护区间最小值(对于全局来说必然是 )和最小值个数即可,使用动态开点线段树可以很方便地写出来。
[SDOI2009] HH 的项链
二维扫描线
本质上是莫队,不在本文中介绍。