【小结】扫描线

一种处理策略。总的来讲就是用一条线按照一定顺序扫描,对于另一个维度用数据结构修改查询,从而解决问题的策略。

P10814 【模板】离线二维数点

最简单的一种扫描线。

首先对于 \([l,r]\) 容斥一下可以转化为求 \([1,pos]\)\(\leq x\) 的个数。

这条线从 \(1\) 扫到 \(n\),然后树状数组维护,然后查询算贡献。做完了。

P5490 【模板】扫描线 & 矩形面积并

\(y\) 从下往上扫,然后就相当于在每一个 \(y\) 这里加入一条线段,面积之和就是每个 \(y\) 的被覆盖的长度之和。

考虑线段树不好维护 \(0\) 的个数。但是线段树可以维护最小值出现次数。

那么就用线段树维护最小值和最小值出现的次数。判断一个是不是 \(0\) 即可。

\(x\) 要离散化。有点难写。注意细节。

posted @ 2026-08-21 16:34  GUO120822  阅读(3)  评论(0)    收藏  举报