#P50933. 「JOISC 2018 Day 4」野猪

「JOISC 2018 Day 4」野猪

题目描述

译自 JOISC 2018 Day4 T3「イノシシ / Wild Boar

JOI 君是生活在 IOI 森林里的一头野猪。森林可视为一个包含 NN 个结点,MM 条带权无向边的连通图。结点的编号分别为 1N1\ldots Nii 号边连接结点 AiA_iBiB_i,权值为 CiC_i。保证 (Ai,Bi)(Aj,Bj)(A_i,B_i)\neq(A_j,B_j),并且保证:对于任意两点互相可达。

开始时有一个长度为 LL 的序列 X1,X_1, X2X_2 \ldots XLX_L,表示 JOI 君开始时在 X1X_1,它要依次访问结点 X2X_2 \ldots XLX_L。序列中可能有重复结点,但保证序列中相邻两结点不同,即保证序列中 XjXj+1X_j\not=X_{j+1}。注意,不要求从 XjX_j 直达 Xj+1X_{j+1},JOI 君可以从 XjX_j 出发,经过其他结点作为中转,再到达 Xj+1X_{j+1}。但是,JOI 君不能沿原路返回前一个到达的结点。参见样例。

接下来有 TT 次修改,每次修改会给出两个整数 Pk,QkP_k, Q_k,表示将 XPkX_{P_{\scriptsize k}} 修改为 QkQ_k。每次修改后,JOI 君想知道:他能否找到满足要求的路径。如果能,请输出最短路的长度,反之则输出 -1

输入格式

第一行,四个整数 N,M,T,LN,M,T,L
接下来 MM 行,每行三个整数 Ai,Bi,CiA_i, B_i, C_i
接下来 LL 行,每行一个整数 XjX_j
接下来 TT 行,每行三个整数 Pk,QkP_k, Q_k

保证输入均合法。

输出格式

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

样例 1

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

从结点 11 沿着 11 号道路到结点 22,再沿 22 号道路到结点 33,再沿 33 号道路到结点 11

注意 JOI 君在结点 22 时不能沿着 11 号道路直接回到结点 11

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

在第一天,{Xn}=4,1,4\{X_n\}=4,1,4,JOI 君可以沿着 44 号道路从结点 4411。然后 JOI 君再依次经过 1,1, 2,2, 3,3, 44 号道路回到结点 44

注意,尽管 JOI 君开始沿着 44 号道路从结点 4411,后来又沿着 44 号道路从结点 1144,但由于 JOI 君没有沿原路返回前一个到达的结点,因此这一方案合法。

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

数据范围与提示

对于所有数据,

  • 2N20002\le N\le 2000N1M2000N-1\le M\le 20001T1051\le T\le 10^52L1052\le L\le 10^5
  • 1Ai<BiN1\le A_i<B_i\le N,保证图是连通图;
  • 1Ci1091\le C_i\le 10^9
  • XjXj+1X_j\neq X_{j+1}
子任务 分值 附加限制
1 12 N,M,L,Ci10;N,M,L,C_i\le 10; T=1T=1
2 35 N,M500;N,M\le 500; T=1T=1
3 15 T=1T=1
4 38