#S2026F2. [CSP-S 2026 模拟二] 巡检路线(patrol)

    ID: 3032 传统题 文件IO:patrol 5000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>图论最短路CSP-S2026全真模拟状态压缩DP

[CSP-S 2026 模拟二] 巡检路线(patrol)

题目描述

某地区有 nn 个站点和 mm 条双向道路。第 ii 条道路连接 ui,viu_i,v_i,通过这条道路需要 wiw_i 个单位时间。

巡检车从站点 11 出发,最终必须到达站点 nn。另外有 kk 个重点站点 p1,p2,…,pkp_1,p_2,\ldots,p_k,巡检过程中必须至少经过每个重点站点一次。

道路和站点都可以重复经过,重点站点的访问顺序由你决定。

求从 11 出发、经过所有重点站点并最终到达 nn 的最短总时间。如果不存在这样的路线,输出 -1。

输入格式

第一行三个整数 n,m,kn,m,k。

第二行 kk 个互不相同的整数 p1,p2,…,pkp_1,p_2,\ldots,p_k。当 k=0k=0 时,该行为空行。

接下来 mm 行,每行三个整数 u,v,wu,v,w,表示一条双向道路。

保证重点站点均不等于 11 或 nn。

输出格式

输出一个整数表示最短总时间;如果无解,输出 -1。

样例

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

数据范围

  • 2≤n≤1052\le n\le 10^5;
  • 0≤m≤2×1050\le m\le 2\times10^5;
  • 0≤k≤120\le k\le 12;
  • 1≤wi≤1091\le w_i\le 10^9。
测试点 分值 特殊限制
1--2 20 n,m≤20n,m\le 20,k≤8k\le 8
3--5 30 给出的图是一棵树
6--10 50 无额外限制