P8391 [BalticOI 2022] Event Hopping (Day1)
题目描述
有 $n$ 个区间,第 $i$ 个区间为 $[l_i,r_i]$。
你可以在区间之间跳跃。当你在第 $x$ 个区间上时,你可以跳到一个覆盖右端点 $r_x$ 的区间 $y$ 上,即从 $x$ 能跳到 $y$ 当且仅当 $[r_x \in [l_y,r_y]]$。
有 $q$ 次询问,每次你一开始在第 $s_i$ 个区间,你需要跳到第 $t_i$ 个区间。你需要输出你至少需要跳多少次。如果不能跳到,输出 `impossible`。
输入格式
第一行,两个整数 $n, q$。
接下来 $n$ 行,每行两个整数 $l_i$,$r_i$。
接下来 $q$ 行,每行两个整数 $s_i$,$t_i$。
输出格式
输出 $q$ 行,第 $i$ 行输出第 $i$ 次询问的答案。如果无解输出 `impossible`。
说明/提示
- 子任务 $1$ ($10$ 分):每一个区间可以跳到至多一个其他区间。
- 子任务 $2$ ($10$ 分):$n≤ 1000$,$q ≤100$。
- 子任务 $3$ ($15$ 分):$n≤5000$。
- 子任务 $4$ ($15$ 分):$q ≤100$。
- 子任务 $5$ ($20$ 分):不存在两个区间 $i,j$ 满足 $[l_i, r_i] \subseteq [l_j,r_j]$。
- 子任务 $6$ ($30$ 分):没有特殊限制。
对于所有数据,满足 $1≤n,q ≤100000$,$1≤l_i