#4267. Foreign Friends

0

Foreign Friends

Foreign Friends

题目描述

有 NN 个人和 KK 个国家,分别标记为 Person 11, Person 22, …\ldots, Person NN 和 Nation 11, Nation 22, …\ldots, Nation KK。
每个人恰好属于一个国家:Person ii 属于 Nation AiA_i。 另外,他们中有 LL 个受欢迎的人:Person B1B_1, Person B2B_2, …\ldots, Person BLB_L 是受欢迎的人。 最初,NN 个人之间没有任何朋友关系。 对于 MM 对人,Takahashi(一位神)可以通过付出一定代价让他们成为朋友:对于每个 1≤i≤M1\leq i\leq M,他可以付出代价 CiC_i 使 Person UiU_i 和 Person ViV_i 成为朋友。 现在,对于每个 1≤i≤N1\leq i\leq N,解答以下问题。

Takahashi 是否可以使 Person $i$ 成为属于不同于 Person $i$ 的国家的受欢迎者的间接朋友? 如果可以的话,求使其成立所需的最小总代价。 这里,当存在非负整数 $n$ 和一列人 $(u_0, u_1, \ldots, u_n)$ 使得 $u_0=s$, $u_n=t$, 且对于每个 $0\leq i < n$,Person $u_i$ 和 Person $u_{i+1}$ 是朋友时,称 Person $s$ 是 Person $t$ 的间接朋友。

输入格式

输入由标准输入按以下格式给出: NN MM KK LL A1A_1 A2A_2 ⋯\cdots ANA_N B1B_1 B2B_2 ⋯\cdots BLB_L U1U_1 V1V_1 C1C_1 U2U_2 V2V_2 C2C_2 ⋮\vdots UMU_M VMV_M CMC_M

输出格式

令 XiX_i 定义如下:若不可能使 Person ii 成为属于不同于 Person ii 的国家的受欢迎者的间接朋友,则 XiX_i 为 −1-1;否则,XiX_i 为所需的最小总代价。 在一行中输出 X1,X2,…,XNX_1, X_2, \ldots, X_N,中间用空格分隔。

4 4 2 2
1 1 2 2
2 3
1 2 15
2 3 30
3 4 40
1 4 10
45 30 30 25
3 1 3 1
1 2 3
1
1 2 1000000000
-1 1000000000 -1

提示

2≤N≤1052 \leq N \leq 10^5 1≤M≤1051 \leq M \leq 10^5 1≤K≤1051 \leq K \leq 10^5 1≤L≤N1 \leq L \leq N 1≤Ai≤K1 \leq A_i \leq K 1 \leq B_1&lt;B_2&lt;\cdots&lt;B_L\leq N 1≤Ci≤1091\leq C_i\leq 10^9 1\leq U_i&lt;V_i\leq N (Ui,Vi)≠(Uj,Vj)(U_i, V_i)\neq (U_j,V_j) if i≠ji \neq j. 输入中的所有数值均为整数。Person 11, 22, 33, 44 分别属于 Nation 11, 11, 22, 22,并且有两位受欢迎的人:Person 22 和 33。在这里,

对于 Person 11,唯一属于不同国家的受欢迎者是 Person 33。要以最小代价使他们成为间接朋友,应付出 1515 使 Person 11 和 22 成为朋友,和付出 3030 使 Person 22 和 33 成为朋友,总计 15+30=4515+30=45。 对于 Person 22,唯一属于不同国家的受欢迎者是 Person 33。最小代价通过付出 3030 使 Person 22 和 33 成为朋友实现。 对于 Person 33,唯一属于不同国家的受欢迎者是 Person 22。最小代价通过付出 3030 使 Person 22 和 33 成为朋友实现。 对于 Person 44,唯一属于不同国家的受欢迎者是 Person 22。要以最小代价使他们成为间接朋友,应付出 1515 使 Person 11 和 22 成为朋友,和付出 1010 使 Person 11 和 44 成为朋友,总计 15+10=2515+10=25。
注意,对于 Person 11,Person 11 本身确实是一个间接朋友,但它不属于不同的国家,所以不存在属于不同国家的受欢迎者。

标签: AtCoder|abc245G

来源

AtCoder|abc245G