列表

详情


NC53252. 野猪

描述

译自 JOISC 2018 Day4 T3「イノシシ / Wild Boar
JOI君是生活在IOI森林里的一头野猪。森林可视为一个包含N个结点,M条带权无向边的连通图。结点的编号分别为。i号边连接结点A_iB_i,权值为C_i。保证,并且保证:对于任意两点互相可达。
开始时有一个长度为L的序列X_1,X_2X_L,表示JOI君开始时在X_1,它要依次访问结点X_2X_L。序列中可能有重复结点,但保证序列中相邻两结点不同,即保证序列中。注意,不要求从X_j直达,JOI君可以从X_j出发,经过其他结点作为中转,再到达。但是,JOI君不能沿原路返回前一个到达的结点。参见样例。
接下来有T次修改,每次修改会给出两个整数P_k,Q_k,表示将修改为Q_k。每次修改后,JOI君想知道:他能否找到满足要求的路径。如果能,请输出最短路的长度,反之则输出-1。

输入描述

第一行,四个整数N,M,T,L。
接下来M行,每行三个整数A_i,B_i,C_i
接下来L行,每行一个整数X_j
接下来T行,每行三个整数P_k,Q_k
保证输入均合法。

输出描述

输出共T行,第i行有一个整数,表示查询的结果。

示例1

输入:

3 3 1 3
1 2 1
2 3 1
1 3 1
1
2
3
3 1

输出:

3

说明:

从结点1沿着1号道路到结点2,再沿2号道路到结点3,再沿3号道路到结点1。
注意JOI君在结点2时不能沿着1号道路直接回到结点1。

示例2

输入:

4 4 4 3
1 2 1
2 3 1
1 3 1
1 4 1
4
1
3
3 4
1 2
3 2
2 4

输出:

5
2
3
-1

说明:

在第一天,\{X_n \}=4,1,4,JOI君可以沿着4号道路从结点4到1。然后JOI君再依次经过1,2,3,4号道路回到结点4。
注意,尽管JOI君开始沿着4号道路从结点4到1,后来又沿着4号道路从结点1到4,但由于JOI君没有沿原路返回前一个到达的结点,因此这一方案合法。

示例3

输入:

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

输出:

38

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题