CF348E Pilgrims
题目描述
很久以前,有一个叫 Dudeland 的国度。Dudeland 有 $n$ 个城镇,通过 $n-1$ 条双向道路连接。这些城镇编号从 $1$ 到 $n$,你可以通过这些道路从任意一个城市到达任意其他城市。有 $m$ 个修道院分别分布在 $m$ 个不同的城镇里。每个修道院里住着一名朝圣者。
年初时,每个朝圣者会记录下距离他所住修道院最远的那些修道院的编号(如果有多个最远,则全部记下)。在“大勒布斯基日”,每位朝圣者会随机选取记录纸上的一个城镇,踏上前往该地的旅程。
Walter 憎恨朝圣者,他计划通过摧毁恰好一个不含修道院的城镇,最大数量地让朝圣者无法完成旅程——当且仅当某位朝圣者记录纸上的所有修道院都变得无法从他当前修道院到达时,他才会感到不快乐。
你的任务是:求 Walter 能让最多多少朝圣者不快乐,以及有多少种方式(即有多少个不同的可以摧毁的城镇)可以达到这一最大效果。
输入格式
第一行包含两个整数 $n$($3 \leq n \leq 10^{5}$)和 $m$($2 \leq m < n$)。
第二行包含 $m$ 个互不相同的整数,表示含有修道院的城镇编号。
接下来的 $n-1$ 行,每行包含三个整数 $a_i$、$b_i$、$c_i$,表示城镇 $a_i$ 和 $b_i$ 之间有一条长度为 $c_i$ 的边($1 \leq a_i, b_i \leq n, 1 \leq c_i \leq 1000, a_i \neq b_i$)。
输出格式
输出两个整数:Walter 能让最多多少朝圣者不快乐,以及有多少种方法(可供摧毁的城镇数)能实现这一最大效果。
说明/提示
由 ChatGPT 5 翻译