CF2021E2.Digital Village (Hard Version)

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是问题的困难版本。在三个版本中,nn 和 mm 的约束条件不同。只有所有版本的问题都解决了,你才能进行 hack。

Pak Chanek 正在为 Khuntien 村设置互联网连接。这个村庄可以表示为一个连通的简单图,其中有 nn 栋房屋和 mm 条互联网电缆,每条电缆连接房屋 uiu_i 和房屋 viv_i,并且具有延迟 wiw_i。

有 pp 栋房屋需要互联网。Pak Chanek 最多可以在 kk 栋房屋中安装服务器。需要互联网的房屋将连接到其中一个服务器。但是,由于每条电缆都有其延迟,对于需要互联网的房屋 sis_i,其经历的延迟将是该房屋与其连接的服务器之间电缆的最大延迟。

对于每个 k=1,2,…,nk = 1,2,\ldots,n,帮助 Pak Chanek 确定所有需要互联网的房屋所能达到的最小总延迟。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt ( 1≤t≤20001 \le t \le 2000 )。对每个测试用例说明如下:

每个测试用例的第一行包含三个整数 nn , mm , pp ( 2≤n≤50002 \le n \le 5000 ; n−1≤m≤5000n-1 \le m \le 5000 ; 1≤p≤n1 \le p \le n ),表示房屋数量、电缆数量和需要网络的房屋数量。

每个测试用例的第二行包含 pp 个整数 s1,s2,…,sps_1, s_2, \ldots, s_p ( 1≤si≤n1 \le s_i \le n ),表示需要上网的房屋。保证 ss 中的所有元素都是不同的。

每个测试用例下 mm 行每行包含三个整数 uiu_i、viv_i 和 wiw_i(1≤ui,vi≤n1 \le u_i , v_i \le n ; 1≤wi≤1091 \le w_i \le 10^9)表示一条连接房屋 uiu_i 和房屋 viv_i 的网线,延迟为 wiw_i。保证给定的边构成一个连通的简单图。

保证 nn 和 mm 之和不超过 50005000。

输出格式

对于每个测试用例,输出 nn 个整数:对每个k=1,2,…,nk = 1,2,\ldots,n,计算所有需要上网的房屋所能达到的最小总延迟。

样例解释

第一个测试用例中,k=3k=3 的一个的最佳解决方案是在顶点 22 、 66 和 88 安装服务器,并获得以下延迟:

  • latency(2)=0\text{latency}(2) = 0
  • latency(5)=max⁡(3,5)=5\text{latency}(5) = \max(3, 5) = 5
  • latency(6)=0\text{latency}(6) = 0
  • latency(8)=0\text{latency}(8) = 0
  • latency(9)=max⁡(2,4)=4\text{latency}(9) = \max(2, 4) = 4

因此总延迟为 0+5+0+0+4=90+5+0+0+4=9 。

输入输出样例

  • 输入#1

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

    输出#1

    34 19 9 4 0 0 0 0 0
    2 0 0

输入解题思路,AI测评打分。不知道怎么写?

首页