测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6181. Railway Construction

编程题 普及+/提高
知识点

题目描述

由于 Gensokyo 的铁路系统经常拥堵,作为一个热心的工程师,
Kawasiro Nitori 计划建造更多的铁路来缓解拥堵。

在 Gensokyo 有 $n$ 个车站,编号从 $1 - n$,有 $m$ 双向铁路。
每条双向铁路都连接着两个不同的车站,并且有一个正整数的长度 $d$ 。
没有两条双向铁路连接相同的两个车站。
此外,使用这些铁路可以从任何一个车站到其他任何车站。
在这 $n$ 个车站中,$1$ 站是主要车站。你只能使用双向铁路从任何其他车站到达任何车站。

由于技术限制,NITORI 只能建造单程铁路,其长度可以是任意的正整数。
从 $u$ 站建造一条单向铁路,无论铁路的终点在哪里,都要花费 $w_u$ 单位的资源。
为了缓解拥堵,Nitori 计划在建设之后,至少有两条最短路径从车站 $1$ 到任何其他车站,而且这两条最短路径除了车站 $1$ 和终点站之外,不经过同一车站。

此外,Nitori 也不希望改变从车站 $1$ 到任何其他车站的最短路径的距离。
由于各种原因,有时建造一条新铁路的成本会不可控制地增加。
这种事件总共会有 $q$ 次,第 $i$ 次事件会给从 $ki$ 站开始的新铁路建设成本增加 $x_i$ 的金额。

为了节省资源,在所有事件发生前和每次事件发生后,Nitori 希望你能帮助她计算出铁路建设的最小成本。

输入格式

第一行包含三个整数 $n$ ,$m$ ,和 $q (1\le n\le 2\cdot 10^5,1\le m\le 3\cdot 10^5 ,0\le q\le 2\cdot10^5 )$。
第二行包含 $n$ 个整数 $w_1,w_2,\ldots,w_n ( 1\le w_i \le 10^9) $。
接下来的 $m$ 行中的每一行都包含三个整数 $u$ , $v$ , $d (1 \le u,v \le n , u \ne v , 1 \le d \le 10^9) $,表示连接车站 $u$ 和车站 $v$ 的双向铁路,长度 $d$ 。
下一个 $q$ 线的第 $i$ 行包含两个整数 $k_i,x_i ( 1 \le k_i \le n, 1 \le x_i \le 4 \times 10^8 ) $。

输出格式

打印 $q+1$ 行,其中第 $i$ 行包含一个整数,表示第 $i-1$ 次事件后铁路建设的最小成本(特别是,第 $0$ 次事件意味着没有发生事件)。

输入输出样例

输入 #1
5 5 1
1 1 1 1 1
1 2 1
2 3 1
2 4 1
3 5 1
4 5 1
1 2
输出 #1
3
9
输入 #2
8 11 0
14 4 16 15 1 3 1 14
4 2 1
1 2 3
7 5 4
2 3 1
8 6 2
8 5 5
5 4 5
7 6 7
3 5 5
1 6 6
8 1 4
输出 #2
46
输入 #3
10 16 8
29 1 75 73 51 69 24 17 1 97
1 2 18
2 3 254
2 4 546
2 5 789
5 6 998
6 7 233
7 8 433
1 9 248
5 10 488
2 6 1787
10 8 1176
3 8 2199
4 8 1907
2 10 1277
4 10 731
9 10 1047
1 11
1 9
8 8
1 3
2 19
9 5
9 4
7 6
输出 #3
34
45
54
54
57
76
96
112
112
上一题 去做题 下一题