/ Vijos / 题库 /

Relocation S

Relocation S

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


【题目描述】

  Farmer John 决定搬家,重新建设农场,以便最小化他每天的行程。

  Farmer John 搬往的区域有 \(N\)(\(1 \le N \le 10\,000\))个城镇,共有 \(M\)(\(1 \le M \le 50\,000\))条双向道路连接某些城镇,所有城镇都能找到互通路线。

  有 \(K\)(\(1 \le K \le 5\))个城镇建有市场,Farmer John 每天离开新农场后,都要光顾这 \(K\) 个城镇,并返回农场。Farmer John 希望建设农场的城镇不包含市场。

  请帮助 Farmer John 计算选择最佳城镇建设农场时,他每天行程长度的最小可能值。

【输入格式】

  第一行包含三个整数 \(N, M, K\)。
  接下来 \(K\) 行每行包含一个在范围 \(1 \sim N\) 中的整数,表示市场的编号。每个市场都在不同的城镇。
  接下来 \(M\) 行每行包含三个整数 \(i, j, L\)(\(1 \le i, j \le N\),\(1 \le L \le 1000\)),表示有从城镇 \(i\) 到城镇 \(j\) 的长度为 \(L\) 的双向道路。

【输出格式】

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

【输入输出样例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

在这组样例中,有 \(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%
上传者