区間スケジューリングクエリ
题意翻译
现在有 $N$ 个工作。每个工作i的开始时间是 $IL_i$ ,结束时间是 $IR_i$ 。一个人同时只能做一份工作,每份工作必须从开始时间开始做到结束时间。如果有两份工作,前一份的结束时间等于后一份的开始时间,是可以做完前一份工作之后立即做后一份的。
现在有 $Q$ 个工作者,工作者 $k$ 在 $[QL_k, QR_k]$ 时间内有空。当 $QL_k \leq IL_i$,且 $IR_i \leq QR_k$ 时,工作者 $k$ 可以去做工作 $i$ 。每个人都想在自己有空的时间,做尽可能多的工作。多个人去做同一份工作也是允许的。
写一个程序,求出每个人能做的工作的最大数量。
---
**输入**
> N Q
> $IL_1$ $IR_1$
> $\ldots$
> $IL_N$ $IR_N$
> $QL_1$ $QR_1$
> $\ldots$
> $QL_Q$ $QR_Q$
第一行输入两个整数 $N$ , $Q$ , $N$ 是工作的数量, $Q$ 是工作者的数量。
对于接下来的 $N$ 行,第 $i$ 行有两个整数 $IL_i$ , $IR_i$ , $IL_i$ 是工作 $i$ 的开始时间, $IR_i$ 是工作 $i$ 的结束时间。
对于接下来的 $Q$ 行,第 $K$ 行有两个整数 $QL_i$ , $QR_i$ ,工作者 $k$ 在 $[QL_k, QR_k]$ 时间内有空。
**输出**
输出一共 $Q$ 行,每行输出一个整数,第 $k$ 行输出第 $k$ 个工作者最多能做的工作数量。
**数据范围**
- $1 \leq N, Q \leq 10^5$
- $- 10^9 \leq IL_i < IR_i \leq 10^9$
- $- 10^9 \leq QL_i < QR_i \leq 10^9$
---
**样例输入1**
> 5 4
> 0 20
> 30 40
> 20 30
> 10 25
> 25 40
> 10 30
> 0 40
> 20 40
> 0 30
**样例输出1**
> 1
> 3
> 2
> 2
翻译提供者:Van♂ceBlack
题目描述
[problemUrl]: https://atcoder.jp/contests/utpc2012/tasks/utpc2012_08