loj#P3775. 「BalticOI 2022 Day1」Event Hopping

「BalticOI 2022 Day1」Event Hopping

题目描述

题目译自 BalticOI 2022 Day1「Event Hopping

nn 个区间,第 ii 个区间为 [li,ri][l_i,r_i]

你可以在区间之间跳跃。当你在第 xx 个区间上时,你可以跳到一个覆盖右端点 rxr_x 的区间 yy 上,即从 xx 能跳到 yy 当且仅当 rx[ly,ry]r_x\in[l_y,r_y]

qq 次询问,每次你一开始在第 sis_i 个区间,你需要跳到第 tit_i 个区间。你需要输出你至少需要跳多少次。如果不能跳到,输出 impossible

输入格式

第一行,两个整数 n,qn, q

接下来 nn 行,每行两个整数 li,ril_i,r_i

接下来 qq 行,每行两个整数 si,tis_i,t_i

输出格式

输出 qq 行,第 ii 行输出第 ii 次询问的答案。如果无解输出 impossible

5 2
1 3
2 4
4 7
7 9
3 7
1 4
3 2
2
impossible

8 5
1 2
3 4
1 5
6 7
5 10
10 20
15 20
999999999 1000000000
1 6
1 7
2 4
3 3
5 8

3
4
impossible
0
impossible

数据范围与提示

  • 子任务 11 (1010 分):每一个区间可以跳到至多一个其他区间。
  • 子任务 22 (1010 分):N1000,Q100N \leq 1000,Q\leq 100
  • 子任务 33 (1515 分):N5000N \leq 5000
  • 子任务 44 (1515 分):Q100Q \leq 100
  • 子任务 55 (2020 分):不存在两个区间 i,ji,j 满足 [li,ri][lj,rj][l_i,r_i]\subseteq [l_j,r_j]
  • 子任务 66 (3030 分):没有特殊限制。

对于所有数据,满足 $1\leq N,Q \leq 100000,1\leq l_i<r_i\leq 10^9,1\leq s_i,t_i\leq n$