#P1472. 小苯的旅行计划

    ID: 473 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>普及+/提高树论树上差分最近公共祖先(LCA)暴力枚举

小苯的旅行计划

小苯的旅行计划

题目描述

热爱旅行的小苯生活在 BB 国,BB 国可以看做是一个由 nn 座城市,编号从 11nn,和恰好 n1n-1 条双向道路连接起来的连通图。

这天他要招待远道而来的 mm 个朋友,帮助他们设计一个旅行计划,使得所有人的总花费最小。

具体的:每个朋友都有一个旅行计划,一共有 mm 个旅行计划,其中第 jj 个朋友的旅行计划是从城市 aja_j 沿最短路一路旅行至城市 bjb_j

但每个人通过每条道路都要交一定的过路费,小苯作为朋友们的“导游”,至多可以想办法使得一条道路免费,即任何人通过它任意次都不花钱。

现在小苯希望你帮他找到那个使得其免费后就能让所有朋友的总花费最小的道路,并告诉他这个最小的总花费吧。

输入格式

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1T1000)T\left(1\leq T\leq 1000\right) 代表数据组数,每组测试数据描述如下:

第一行输入两个正整数 $n, m\ (1 \leq n \leq 10^5), (1 \leq m \leq 2 \times 10^5)$,分别表示 BB 国的城市数量,和小苯的朋友个数。
接下来 n1n-1 行,每行三个正整数 $u_i, v_i, w_i\ (1 \leq u_i, v_i \leq n, u \ne v, 1 \leq w \leq 10^9)$,表示 BB 国的一条双向道路,连接 ui,viu_i, v_i 这两座城市,任何人通过一次它的花费是 wiw_i
接下来的 mm 行,每行两个正整数 aj,bj (1aj,bjn)a_j, b_j\ (1 \leq a_j , b_j \leq n),分别表示每个朋友的旅行计划。

(保证同一个测试文件的所有测试数据中,nn 的总和不超过 10510^5mm 的总和不超过 2×1052 \times 10^5。)

输出格式

对于每组测试数据,在单独的一行输出一个整数 costcost,表示最小的总花费。

(数据保证答案不超过 26312^{63}-1。)

样例 #1

样例输入 #1

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

样例输出 #1

7

提示

image.png

样例中的 BB 国形态如图,最优方案是小苯选择将 131↔3 这条道路免费,三个朋友的总花费会达到最小。