#P10439. [JOISC 2024 Day4] 逃生路线 2

[JOISC 2024 Day4] 逃生路线 2

题目描述

IOI 王国由从西向东排列的 NN 座城市组成,城市按照从西向东的顺序从 11NN 编号。

在 IOI 王国,他们使用 Byou 作为时间单位。IOI 王国的一天被分为 TT 个时间单位。从某一天开始后的 xx 个 Byous(0x<T0 \leq x < T)被称为时间 xx。因此,当从某一天的时间 T1T - 1 开始经过 11 个 Byou 时,将成为下一天的时间 00

JOI 组织是 IOI 王国的秘密教派之一。由于它是一个秘密教派,成员必须绕过国家的检查站。因此,JOI 组织成员只能使用 JOY 航空公司运营的航班进行城市间旅行。

JOY 航空公司在城市 ii1iN11 \leq i \leq N - 1)提供 MiM_i 趟航班。第 jj 趟航班(1jMi1 \leq j \leq M_i)每天从城市 ii 在时间 Ai,jA_{i,j} 起飞,于当天的时间 Bi,jB_{i,j} 到达城市 i+1i + 1。这里,满足 Ai,j<Bi,jA_{i,j} < B_{i,j}

这些航班提供了便捷的转机服务,也可以在抵达后立即起飞或在公司的机场过夜。

JOI 组织有 QQ 名成员,编号从 11QQ。成员 kk1kQ1 \leq k \leq Q)将他们的运营基地设在城市 LkL_k,生活基地设在城市 RkR_k。因此,他们想知道通过选择从城市 LkL_k 出发的时间和适当的航班进行,从城市 LkL_k 出发到城市 RkR_k 的最短时间。

给定 JOY 航空公司运营的航班和 JOI 组织成员的信息,编写一个程序,找到每个成员 kk 从城市 LkL_k 到城市 RkR_k 的最短时间。

输入格式

从标准输入中读取以下数据。

  • NN TT
  • M1M_1
  • A1,1A_{1,1} B1,1B_{1,1}
  • A1,2A_{1,2} B1,2B_{1,2}
  • ...
  • A1,M1A_{1,M_1} B1,M1B_{1,M_1}
  • M2M_2
  • A2,1A_{2,1} B2,1B_{2,1}
  • A2,2A_{2,2} B2,2B_{2,2}
  • ...
  • A2,M2A_{2,M_2} B2,M2B_{2,M_2}
  • ...
  • MN1M_{N-1}
  • AN1,1A_{N-1,1} BN1,1B_{N-1,1}
  • AN1,2A_{N-1,2} BN1,2B_{N-1,2}
  • ...
  • AN1,MN1A_{N-1,M_{N-1}} BN1,MN1B_{N-1,M_{N-1}}
  • QQ
  • L1L_1 R1R_1
  • L2L_2 R2R_2
  • ...
  • LQL_Q RQR_Q

输出格式

输出 QQ 行到标准输出。在第 kk 行(1kQ1 \leq k \leq Q),输出成员 kk 从城市 LkL_k 到城市 RkR_k 所需的最短时间。

4 10000
1
100 300
2
200 400
300 600
1
500 600
3
1 3
2 4
1 4
500
400
10500
6 10000
1
100 300
1
400 700
1
500 600
1
300 900
1
200 800
1
1 6

30700

提示

样例解释 1

作为演示,让我们将成员 kk 从城市 LkL_k 出发的第一天称为第 11 天。成员 11 可以按照以下行动在 500500 Byou 内从城市 11 前往城市 33

  1. 11 天时刻 100100 从城市 11 出发,并在第 11 天时刻 300300 到达城市 22
  2. 11 天时刻 300300 从城市 22 出发,并在第 11 天时刻 600600 到达城市 33

由于没有更快的旅行方式,所以在第 11 行输出 500500

成员 22 可以按照以下行动在 400400 Byou 内从城市 22 前往城市 44

  1. 11 天时刻 200200 从城市 22 出发,并在第 11 天时刻 400400 到达城市 33
  2. 11 天时刻 500500 从城市 33 出发,并在第 11 天时刻 600600 到达城市 44

由于没有更快的旅行方式,所以在第 22 行输出 400400

成员 33 可以按照以下行动在 1050010500 Byou 内从城市 11 前往城市 44

  1. 11 天时刻 100100 从城市 11 出发,并在第 11 天时刻 300300 到达城市 22
  2. 11 天时刻 300300 从城市 22 出发,并在第 11 天时刻 600600 到达城市 33
  3. 22 天时刻 500500 从城市 33 出发,并在第 22 天时刻 600600 到达城市 44

由于没有更快的旅行方式,所以在第 33 行输出 1050010500

这个样例输入满足子任务 2,4,5,62,4,5,6 的限制条件。

样例解释 2

这个样例输入满足所有子任务的约束条件。

约束条件

  • 2N100,0002 \leq N \leq 100,000
  • 2T1092 \leq T \leq 10^9
  • Mi1M_i \geq 11iN11 \leq i \leq N - 1
  • M1+M2++MN1100,000M_1 + M_2 + \cdots + M_{N-1} \leq 100,000
  • 0Ai,j<Bi,j<T0 \leq A_{i,j} < B_{i,j} < T1iN1,1jMi1 \leq i \leq N - 1, 1 \leq j \leq M_i
  • 1Q300,0001 \leq Q \leq 300,000
  • 1Lk<RkN1 \leq L_k < R_k \leq N1kQ1 \leq k \leq Q
  • 给定值均为整数。

子任务

  1. (6 分) N2,000N \leq 2,000Mi=1M_i = 11iN11 \leq i \leq N - 1
  2. (8 分) N2,000N \leq 2,000Mi5M_i \leq 51iN11 \leq i \leq N - 1
  3. (17 分) Mi=1M_i = 11iN11 \leq i \leq N - 1
  4. (23 分) Mi5M_i \leq 51iN11 \leq i \leq N - 1
  5. (36 分) N90,000N \leq 90,000Q90,000Q \leq 90,000M1+M2++MN190,000M_1 + M_2 + \cdots + M_{N-1} \leq 90,000
  6. (10 分) 无额外约束条件。