/ Vijos / 题库 /

新家

新家

时间限制:1秒  内存限制:256M


【题目描述】

  大生意人小H决定重新购买一套住房作为自己的新家,以便最小化他每天到自己门店的行程。

  小H 所在的城区有 \(N\)(\(1 \le N \le 10\,000\))个街区,共有 \(M\)(\(1 \le M \le 50\,000\))条双向道路连接某些街区,所有街区都能相互到达。

  小H在 \(K\)(\(1 \le K \le 5\))个街区有自己的门店,每天小H 都会从自己的新家出发,都要巡视这 \(K\) 个门店,然后返回家中。小H 希望建家所在的街区不包含自己的门店。

  请帮助 小H 选择最佳买房的街区,并计算他每天行程长度的最小可能值。

【输入格式】

  第一行包含三个整数 \(N, M, K\)。
  接下来 \(K\) 行每行包含一个在范围 \(1 \sim N\) 中的整数,表示门店的编号。每个门店都在不同的街区。
  接下来 \(M\) 行每行包含三个整数 \(u, v, d\)(\(1 \le u, v \le N\),\(1 \le d \le 1000\)),表示有从街区 \(u\) 到街区 \(v\) 的长度为 \(d\) 的双向道路。

【输出格式】

  一行一个整数,表示 小H 在选择最佳街区建设农场时,他每天行程长度的最小可能值。

【输入输出样例1】

 Input

5 6 3 
1 
2 
3 
1 2 1 
1 5 2 
3 2 3 
3 4 5 
4 2 7 
4 5 10  

 Output

12

【样例1解释】

  在这组样例中,有 \(5\) 座街区,街区 \(1, 2, 3\) 有门店,还有 \(6\) 条双向道路。
  一种可能的最优方案:FJ 在街区 \(5\) 建设农场。他每天的行程为 \(5 \to 1 \to 2 \to 3 \to 2 \to 1 \to 5\),总距离为 \(12\)。

【测试点性质】

  对于所有数据满足:\(1≤N≤10000,1≤M≤50000,1≤K≤10,1≤L≤1000\),其中各测试点情况如下:
  测试点1:\(N=5, M=6, K=3\)。
  测试点2:\(N=30, M=300, K=3\)。
  测试点3:\(N=100, M=1000, K=5\)。
  测试点4:\(N=500, M=200, K=2\)。
  测试点5:\(N=1000, M=5000, K=4\)。
  测试点6:\(N=3000, M=20000, K=3\)。
  测试点7:\(N=5000, M=40000, K=2\)。
  测试点8:\(N=9000, M=50000, K=5\)。
  测试点9:\(N=10000, M=50000, K=4\)。
  测试点10:\(N=10000, M=50000, K=5\)。
  测试点11:\(N=10000, M=50000, K=7\)。
  测试点12:\(N=10000, M=50000, K=8\)。
  测试点13:\(N=10000, M=50000, K=9\)。
  测试点14:\(N=10000, M=50000, K=10\)。
  测试点15:\(N=10000, M=50000, K=10\)。

【来源】

  Mr.he

信息

ID
3229
难度
9
分类
图结构 | 最短路搜索 | 动态规划 | 状态压缩DP 点击显示
标签
递交数
3
已通过
1
通过率
33%
被复制
2
上传者