#P15877. [ICPC 2026 NAC] Cable Pruning

[ICPC 2026 NAC] Cable Pruning

说明

你正在帮助改造一个数据中心,以便为更多 GPU 腾出空间。多年来,数据中心中堆积了多余的网线,你被要求清理这些杂乱线缆,并尽可能多地回收未使用的线缆。

:::align{center}

样例输入 1 的示意图。属于同一耦合对的服务器用相同颜色表示。需要移除的线缆用虚线标出。 :::

数据中心有 NN 台服务器和 NN 条网线,每条网线连接两台服务器。每条网线都有一定的长度(单位:英尺)。网线中的流量是双向的,且数据中心初始是连通的:对于任意一对服务器 (u,v)(u,v),都存在一条由网线构成的路径从 uu 到达 vv(可能经过中间服务器)。你通过审计数据中心网络流量,发现只有 KK耦合对 的服务器之间需要进行通信。(注意,有些服务器可能不属于任何耦合对,也可能属于两个或多个耦合对。)

现在,你需要从数据中心中移除尽可能多的网线总长度,但要保证所有耦合对之间保持连通:对于每一对服务器 (a,b)(a,b),必须存在一条由你保留的原始网线构成的路径,使得 aa 能到达 bb

请找出为了满足这一约束条件而必须保留的网线的最小总长度。

输入格式

输入的第一行包含两个空格分隔的整数 NN (3N105)(3 \le N \le 10^5)KK (1K105)(1 \le K \le 10^5),分别表示数据中心的服务器的数量和已发现的耦合对的数量。

接下来的 NN 行描述了数据中心原有的网线。每行包含三个空格分隔的整数 uiu_iviv_i (1ui,viN,uivi)(1 \le u_i, v_i \le N, u_i \ne v_i)wiw_i (1wi109)(1 \le w_i \le 10^9),表示有一条网线连接服务器 uiu_iviv_i,长度为 wiw_i 英尺。任意两台服务器之间至多有一条网线,且服务器与网线构成的图是连通的。

接下来的 KK 行,每行包含两个空格分隔的整数 aja_jbjb_j1aj,bjN1 \le a_j, b_j \le Najbja_j \ne b_j),描述一个耦合对的服务器。在移除网线后,每个耦合对必须仍然存在一条路径保持连通。所有耦合对互不相同,(a,b)(a,b)(b,a)(b,a) 视为相同,不会同时作为耦合对列出。

输出格式

输出一个整数:为了使所有 KK 个耦合对之间保持连通,必须保留的网线的最小总长度(单位:英尺)。

8 3
5 3 5
1 7 20
3 8 8
7 5 15
5 2 12
1 6 9
5 1 10
7 4 7
3 4
8 2
1 7
57
5 1
1 3 3
4 2 4
3 4 2
5 2 2
4 1 6
2 1
9

提示

翻译由 DeepSeek V3.2 完成