loj#P187. 最小斯坦纳树

最小斯坦纳树

题目描述

给定一个包含 nn 个结点和 mm 条带权边的无向连通图 G=(V,E)G=(V,E)

再给定包含 kk 个结点的点集 SS,选出 GG 的子图 G=(V,E)G'=(V',E'),使得:

  1. SVS \subseteq V'
  2. GG' 为连通图;
  3. EE' 中所有边的权值和最小。 你只需要求出 EE' 中所有边的权值和。

输入格式

第一行包含三个整数 n,m,kn,m,k,表示 GG 的结点数、边数和 SS 的大小。

接下来 mm 行,每行三个整数 u,v,wu,v,w,表示编号为 u,vu,v 的点之间有一条权值为 ww 的无向边。

接下来一行包含 kk 个互不相同的正整数,表示 SS 的元素。

输出格式

一行一个整数,表示 EE' 中边权和的最小值。

7 7 4
1 2 3
2 3 2
4 3 9
2 6 2
4 5 3
6 5 2
7 6 4
2 4 7 5
11

数据范围与提示

对于 100%100 \% 的数据,1n1001 \leq n \leq 1001m5001 \leq m \leq 5001k101 \leq k \leq 101u,vn1 \leq u,v \leq n1w1061 \leq w \leq 10^6

保证给出的无向图连通,应该不存在重边和自环。