UOJ Logo Universal Online Judge

UOJ

#883. 【UR #27】景点观光

附件下载 统计

跳蚤国王兴致大发,在刚建好的跳蚤利亚上游玩!

跳蚤利亚共有 $n$ 个城市,彼此之间连接着 $n-1$ 条双向道路,而且这些道路确保了城市间的互通。在这些城市中,有 $m$ 个被誉为著名的旅游景点。为了探索这些城市的风光,跳蚤国王决定从一号城市(皇宫)出发,途经一些城市,最终回到皇宫。跳蚤国王希望能经过每个旅游景点至少一次

跳蚤国王拥有强大的跳跃能力,可以一次性跳过一条或两条道路。但是,一次性跳过两条道路会消耗大量体力,因此这种跳跃的次数不能超过 $k$ 次。

为了合理规划行程,跳蚤国王需要进行 $q$ 次询问。每次询问中,他会提供一个 $k$ 值,你需要回答在给定 $k$ 的情况下,跳蚤国王至少需要跳跃几次才能完成整个旅程。

输入格式

本题有多组测试数据

第一行一个整数 $T$,表示测试数据组数。

对于每组测试数据:

  • 第一行三个整数 $n,m,q$。
  • 后 $(n-1)$ 行每行两个整数 $u,v$,表示城市间的道路。
  • 后一行 $m$ 个整数 $a_1,a_2,\dots,a_m$,表示旅游景点对应的城市编号。
  • 后一行 $q$ 个整数 $k$。

输出格式

对于每组测试数据:

  • 一行 $q$ 个整数,表示每个询问的答案。

样例一

input

3
5 2 2
1 2
2 3
3 4
4 5
3 5
0 2
5 2 2
1 2
1 3
2 4
2 5
4 5
0 2
5 4 2
1 2
2 3
1 4
4 5
2 3 4 5
0 4

output

8 6
6 4
8 5

explanation

对于第一组测试数据,跳蚤利亚的结构如下图所示:

  • $k=0$ 时的一种跳跃方式为 $1\to2\to3\to4\to5\to4\to3\to2\to1$。
  • $k=2$ 时的一种跳跃方式为 $1\to3\to5\to4\to3\to2\to1$。

样例二

见下发文件。该样例满足子任务 7 的限制。

限制与约定

本题采用捆绑测试。

  • Subtask 1(5 points):$n=3$。
  • Subtask 2(5 points):$k=0$。
  • Subtask 3(5 points):$m=1$。
  • Subtask 4(10 points):$T\le 10$,$q\le 10$,$m\le 8$。
  • Subtask 5(10 points):$T\le 10$,$q\le 10$,$m\le 15$。
  • Subtask 6(10 points):保证任意一个城市最多与两个城市相连。
  • Subtask 7(10 points):$q=1$。
  • Subtask 8(15 points):$n,\sum n\le 10^3$。
  • Subtask 9(30 points):无特殊限制。

对于 $100\%$ 的数据,$1\le T\le 10^5$,$3\le n,\sum n\le 10^5$,$1\le q,\sum q\le 10^5$,$1\le m< n$,$0\le k\le 10^9$,$1\le u,v\le n$,$2\le a_i\le n$,保证每组测试数据中的 $a_i$ 互不相同。

时间限制:$\texttt{1s}$

空间限制:$\texttt{512MB}$