#P12577. [UOI 2021] 树上的强盗
[UOI 2021] 树上的强盗
题目描述
有 个城市,编号从 到 。所有城市通过 条道路连接,形成一个连通图。每条道路都有特定的长度。
已知编号为 的城市在时间 被编号为 的强盗团伙占领()。从被占领的时刻 开始(包括 时刻),只有 号团伙的成员才能通过该城市。
你需要回答 个如下形式的查询:
u v b T
:判断编号为 的团伙成员能否在时间 从城市 前往城市 。如果无法完成旅程,还需要输出路径上第一个无法通过的城市编号。在城市间移动需要花费时间,时间等于路的长度。
输入格式
第一行包含一个整数 ()——城市数量。
接下来的 行,每行包含两个整数 和 (,),表示城市 和 之间有一条长度为 的道路。编号从 2 开始。
下一行包含 个整数 (),表示占领每个城市的强盗团伙编号。
下一行包含 个整数 (),表示每个城市被占领的时间。
下一行包含一个整数 ()——查询数量。
最后 行,每行包含四个整数 , , , (,),分别表示查询的起点城市、终点城市、团伙编号和出发时间。
输出格式
对于每个查询,输出一行一个整数——路径上第一个无法通过的城市编号。如果全程可通行,输出 -1
。
注意本题输入输出数据量较大,建议使用快速的输入输出方法,例如:
- C++ 中使用
scanf/printf
而非cin/cout
; - Python 中使用
sys.stdin.readline
而非input
; - 建议使用 PyPy 解释器运行 Python 代码。
5
1 7
1 3
2 2
2 1
1 1 2 3 3
10 4 15 15 1
8
5 3 3 1
5 3 3 2
5 3 3 3
5 3 1 1
4 3 1 2
4 3 1 3
3 4 1 3
2 1 1 100
-1
1
2
5
-1
3
4
-1
5
1 4
1 1
1 1
1 4
3 2 2 2 2
4 4 6 7 5
5
5 2 4 7
1 1 1 3
4 2 1 9
1 4 3 7
3 4 2 4
5
-1
4
4
1
5
1 4
2 1
3 3
4 1
2 1 2 3 2
8 3 7 7 9
5
1 5 2 4
1 2 1 4
5 2 1 6
1 4 3 5
1 5 4 7
2
-1
4
2
2
提示
评分标准
- ( 分):所有 ;
- ( 分):;
- ( 分):,;
- ( 分):,,;
- ( 分):;
- ( 分):;
- ( 分):,;
- ( 分):无额外限制。
翻译由 DeepSeek V3 完成