P16146 [ICPC 2017 NAIPC] Blazing New Trails
题目描述
你所在的州刚刚购买了一大片未开发的原始土地,并希望将其改建成一个带有徒步小径的自然公园。这片土地上有 $n$ 个景点,游客可能希望徒步前往这些景点,其中有 $k$ 个景点是特别景点。州政$ $府希望用徒步小径将这些景点连接起来。有 $m$ 条候选小径可供选择,每条小径直接连接两个景点,并具有不同的修建成本。选择小径时需满足以下约束:首先,任意两个景点之间必须恰好有一条徒步路径可达。其次,恰好有 $w$ 条小径必须直接连接一个特别景点与一个普通景点。当然,州政$ $府希望最小化修建这些小径的总成本。
输入格式
每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。输入的第一行包含四个整数 $n$、$m$、$k$ 和 $w$,其中 $n$($2 \leq n \leq 2 \cdot 10^5$)是景点的数量,$m$($1 \leq m \leq 5 \cdot 10^5$)是景点之间潜在直达小径的数量,$k$($1 \leq k < n$)是特别景点的数量,$w$($1 \leq w \leq n - 1$)是州政$ $府希望修建的“特别-普通”直达小径的数量。景点编号为 $1 \dots n$。
接下来的 $k$ 行,每行包含一个整数 $s$($1 \leq s \leq n$),表示特别景点的编号。这些值互不相同,并按升序给出。
接下来的 $m$ 行,每行描述一条州政$ $府可能修建的潜在小径。每行包含三个整数 $a$、$b$ 和 $c$,表示小径连接景点 $a$ 和 $b$($1 \leq a, b \leq n, a \neq b$),修建成本为 $c$($1 \leq c \leq 10^5$)。任意两个景点之间至多有一条潜在小径,且 $a$ 到 $b$ 的小径与 $b$ 到 $a$ 的小径视为同一条。
输出格式
输出一个整数,表示州政$ $府在满足约束条件下修建小径的最小总成本。如果无法实现,则输出 $-1$。
说明/提示
翻译由 DeepSeek V3.2 完成