#P8163. [JOI 2022 Final] 铁路旅行 2 / Railway Trip 2

    ID: 9238 远端评测题 2000ms 537MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>倍增2022O2优化JOI(日本)

[JOI 2022 Final] 铁路旅行 2 / Railway Trip 2

题目描述

IOI 铁路公司在一条铁轨上运营线路。铁轨为一条直线,该铁轨上有 NN 个车站,编号为 1∼N1 \sim N。车站 ii 与车站 i+1i + 1 之间由一条铁轨直接连接。

IOI 铁路公司正在运营 MM 条线路,编号为 1∼M1 \sim M。线路 jj 的起点为 AjA_j,终点为 BjB_j,列车在每一站均会停靠,即如果 Aj<BjA_j < B_j,一列 jj 号线的列车会按顺序在车站 Aj,Aj+1,…,BjA_j, A_j + 1, \ldots, B_j 停靠。如果 Aj>BjA_j > B_j,一列 jj 号线的列车会按顺序在车站 Aj,Aj−1,…,BjA_j, A_j - 1, \ldots, B_j 停靠。

JOI 君是一个旅行者。他有 QQ 个旅行计划。在第 kk 个旅行计划中他计划从车站 SkS_k 通过乘坐列车前往车站 TkT_k。

然而,JOI 君因长途跋涉而疲惫不堪。他希望他乘坐的列车均有空座以便休息。因此 JOI 君只会在线路起点起的 KK 站范围内(含起点)上车。换句话说,对于线路 jj,如果 Aj<BjA_j < B_j,那么他只会在车站 $A_j, A_j + 1, \ldots, \min \{ A_j + K - 1, B_j - 1 \}$ 乘上线路 jj 的列车。如果 Aj>BjA_j > B_j,那么他只会在车站 $A_j, A_j - 1, \ldots, \max \{ A_j - K + 1, B_j + 1 \}$ 乘上线路 jj 的列车。

在这些条件下,JOI 君希望尽量减少乘坐火车的次数。

给出 IOI 铁路公司的线路信息和 JOI 君的计划,写一个程序计算对于 JOI 君的每一个计划,他所需的最小乘车次数。

输入格式

第一行,两个正整数 N,KN, K。

第二行,一个正整数 MM。

接下来 MM 行,第 jj 行两个正整数 Aj,BjA_j, B_j。

接下来一行,一个正整数 QQ。

接下来 QQ 行,第 kk 行两个正整数 Sk,TkS_k, T_k。

输出格式

输出 QQ 行,第 kk 行一个数,表示对于 JOI 君的第 kk 个计划,他实现该计划所需的最小乘车次数。如果无论如何无法实现第 kk 个计划,则输出 -1。

5 2
2
5 1
3 5
3
5 3
3 2
2 1

1
2
-1

6 3
2
1 6
5 1
4
5 1
6 3
3 6
2 1

1
-1
1
2

6 5
4
3 1
2 4
5 3
4 6
5
1 5
3 2
2 6
6 3
5 4

-1
1
2
-1
1

12 1
5
1 7
10 12
3 5
8 10
5 9
7
2 11
5 8
3 12
4 6
1 9
9 10
1 4

-1
1
4
-1
2
-1
1

提示

【样例解释 #1】

对于第一个计划,JOI 君要从车站 55 前往车站 33。具体地,此计划可以通过如下方式实现:JOI 君在车站 55 乘上 11 号线的列车,并在车站 33 下车。JOI 君总共乘坐了一次列车。由于不可能花费比 11 更少的乘车次数实现该计划,在第一行输出 11。

对于第二个计划,JOI 君要从车站 33 前往车站 22。具体地,此计划可以通过如下方式实现:JOI 君在车站 33 乘上 22 号线的列车,并在车站 44 下车;然后在车站 44 乘上 11 号线的列车,并在车站 22 下车。JOI 君总共乘坐了两次列车。由于不可能花费比 22 更少的乘车次数实现该计划,在第二行输出 22。

对于第一个计划,JOI 君要从车站 22 前往车站 11。由于无论如何无法实现该计划,在第三行输出 -1。

这个样例满足子任务 1,2,61, 2, 6 的限制。

【样例解释 #2】

这个样例满足子任务 1,2,61, 2, 6 的限制。

【样例解释 #3】

这个样例满足子任务 1,2,4,61, 2, 4, 6 的限制。

【样例解释 #4】

这个样例满足子任务 1,2,5,61, 2, 5, 6 的限制。


【数据范围】

本题采用捆绑测试。

对于 100%100 \% 的数据,2≤N≤1052 \le N \le {10}^5,1≤K≤N−11 \le K \le N - 1,1≤M≤2×1051 \le M \le 2 \times {10}^5,1≤Q≤5×1041 \le Q \le 5 \times {10}^4,1≤Aj,Bj,Sk,Tk≤N1 \le A_j, B_j, S_k, T_k \le N,Aj≠BjA_j \ne B_j,Sk≠TkS_k \ne T_k,(Aj,Bj)≠(Ak,Bk)(A_j, B_j) \ne (A_k, B_k)(j≠kj \ne k),(Sk,Tk)≠(Sl,Tl)(S_k, T_k) \ne (S_l, T_l)(k≠lk \ne l)。

  • 子任务 11(88 分):N,M,Q≤300N, M, Q \le 300。
  • 子任务 22(88 分):N,M,Q≤2000N, M, Q \le 2000。
  • 子任务 33(1111 分):Q=1Q = 1。
  • 子任务 44(2525 分):K=N−1K = N - 1。
  • 子任务 55(3535 分):Aj<BjA_j < B_j,Sk<TkS_k < T_k。
  • 子任务 66(1313 分):无特殊限制。

译自 JOI 2022 Final T4「鉄道旅行 2 / Railway Trip 2」