D. 徐老师的道路修复

    传统题 1500ms 512MiB

徐老师的道路修复

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

徐老师的城市遭受了超强台风的袭击!

现在整座城市的道路都被摧毁,市长紧急颁布了命令,要求徐老师以最快的速度修复城市的所有道路

在城市中共有 nn 个路口,编号 1n1 \sim n

其中有 kk 个路口为 关键路口,它们是整个城市最重要的交通枢纽

而现在徐老师已经整理出了 mm 条道路的修复方案,其中第 ii 个方案可以修复编号为 uiu_iviv_i 之间的一条道路,使得它们可以连通,而这个方案需要花费 costicost_i 点人力

徐老师的任务非常迫切,只有尽快的修复道路,获取更多的人力物力,才能让城市尽快的恢复运行!

由于时间紧迫,徐老师想在 kk关键路口 中任选两个先打通,这样可以使得后续的修复工作效率更高,以便于接下来工作的开展

现在徐老师想知道他最少需要花费多少人力才能使得两个 关键路口 被打通?

P.S.1 这里的 打通 指的是两个 关键路口 可以通过已修复的道路直接或间接的互相到达

P.S.2 本题的输入输出使用 scanf,printfscanf,printf 会导致超时,请使用 cin,coutcin,cout,并取消同步流,格式如下:

输入格式

本题包含多组测试数据

输入第一行包含一个整数 TT,代表测试数据的数量

对于每组测试用例,第一行包含两个整数 n,m,kn,m,k,含义如题

接下来 mm 行每行包含三个整数 ui,vi,costiu_i,v_i,cost_i,表示一个修复方案可以修复 ui,viu_i,v_i 两个路口之间的道路,需要花费 costicost_i 点人力

接下来一行包含 kk 个互不相同的整数 aia_i,分别表示所有 关键路口 的编号

输出格式

对于每组测试数据输出一行包含一个整数,表示答案

数据范围

数据编号 nn mm kk
11 n10n \leq 10 m10m \leq 10 k10k \leq 10
22 n500n \leq 500 m100000m \leq 100000 k2k \leq 2
33 n100000n \leq 100000
454 \sim 5 k20k \leq 20
6106 \sim 10 k100000k \leq 100000

对于所有数据保证 T10T \leq 10 且给定的 mm 条道路一定能使得 nn 个路口全部连通

样例输入1

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

样例输出1

2
2

样例解释1

对于第一组测试数据:选择 11 号和 55 号连通,只需要修复 121-2252-5 这两条道路,人力花费最小为 1+1=21 + 1 = 2

对于第二组测试数据,可以发现随便连通哪两个关键路口都是需要花费人力 1+1=21+1=2

2025秋季CSP-S提高组模拟赛6

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-10-18 19:00
结束于
2025-10-28 19:00
持续时间
240 小时
主持人
参赛人数
22