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 希望你能帮助她计算出铁路建设的最小成本。
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 ) $。
第二行包含 $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