P3461 [POI 2007] KOL-Railway

题目描述

出言不逊铁路系统需要重新布置。通过对铁路网络深入的分析,有一些站点需要被移除,有一些道路也需要被移除。 整个铁路网络可以看做一张由 $n$ 个点,$m$ 条道路组成的无向图。从每一个点出发都可以通过直接或间接的道路到达其它所有点。两个站点之间最多只有一条道路。每一条道路都有一个正整数费用。你的任务是决定哪些点和道路需要被保留。 要求: 1.从每一个没被移除的点出发都能通过直接或间接的没被移除的道路到达其他所有没被移除的点。 2.剩下的道路的费用总和要比较小,即不能超过最优解的两倍。

输入格式

第一行包含两个正整数 $n$、$m$($2\leq n\leq 5\times 10^3$,$1\leq m\leq 5\times 10^5$),表示点数和边数。 接下来 $m$ 行,每行包含三个正整数 $a$、$b$、$u$($1\leq a$、$b\leq n$,$a\neq b$,$1\leq u\leq 1 \times 10^5$),表示 $a$ 和 $b$ 之间有一条费用为 $u$ 的道路。 最后一行的开头为一个正整数 $p$($2\leq p\leq n$,$p\times m\leq 1.5\times 10^7$),表示必须要保留的点数。 接下来包含 $p$ 个正整数,按递增顺序依次给出必须保留的点的编号。

输出格式

第一行包含两个正整数 $c$、$k$,其中 $c$ 表示剩余道路的费用总和,$k$ 表示剩余道路的条数。 接下来 $k$ 行,每行包含两个正整数 $a$、$b$,表示一条道路的两个端点。 如有多组解,输出任意一组。