把每个细菌看成平面上的点 (li,ri)。一个查询 [l,r] 的条件是 li≥l 且 ri≤r,等价于统计矩形 [l,+∞)×(−∞,r] 中的点数。这是典型的二维偏序计数。
离线做法:
小C 在实验室中培育了 n 个细菌。
第 i 个细菌的生命周期用一个闭区间 [li,ri] 表示。
现有 m 次查询,每次查询给出一个时间区间 [l,r] 。
对于每次查询,请计算生命周期完全位于该区间内即 (l≦li 且 ri≦r) 的细菌数量。
第一行输入两个整数 n 和 m(1≦n,m≦5×105) ,分别表示细菌的数量和查询次数。
接下来 n 行,每行输入两个整数 li 和 ri(1≦li≦ri≦109) ,表示第 i 个细菌的生命周期区间。
随后 m 行,每行输入两个整数 l 和 r(1≦l≦r≦109) ,表示一次查询的时间区间。
输出 m 行,每行输出一个整数,表示对应查询的答案。
输入
5 3
1 2
2 5
3 4
1 10
6 8
1 5
2 6
1 10
输出
3
2
5
说明
共有 5 个细菌,其生命周期区间分别为:
查询区间 [1,5] 时,有 3 个细菌(第 1、2、3 ) 的生命周期完全在该区间内,故输出 3 ;
查询区间 [2,6] 时,有 2 个细菌(第 2、3 )满足条件,故输出 2 ;
查询区间 [1,10] 时,所有 5 个细菌都满足条件,故输出 5 。
输入
4 2
1 3
2 4
3 5
4 6
2 4
3 6
输出
1
2