思路与证明
把每个细菌看成平面上的点 (li,ri)。一个查询 [l,r] 的条件是 li≥l 且 ri≤r,等价于统计矩形 [l,+∞)×(−∞,r] 中的点数。这是典型的二维偏序计数。
离线做法:
- 将所有细菌按 ri 升序排序;将所有查询按 r 升序排序。
- 依次处理查询的 r,把所有满足 ri≤r 的细菌“加入”数据结构。
- 数据结构只按 li 这一维统计:我们想要的是“当前已加入的点里,li≥l 的数量”。
题目内容
小C 在实验室中培育了 n 个细菌。
第 i 个细菌的生命周期用一个闭区间 [li,ri] 表示。
现有 m 次查询,每次查询给出一个时间区间 [l,r] 。
对于每次查询,请计算生命周期完全位于该区间内即 (l≦li 且 ri≦r) 的细菌数量。