P10731 [NOISG 2023 Qualification] Network

题目描述

鸭子 Rui Yuan 有 $n$ 台服务器和 $n-1$ 条**双向**数据线,其中第 $i$ 条数据线**双向**连接 $u_i$ 和 $v_i$。保证对于所有 $1 \le i \not = j \le n$,可以通过数据线从第 $i$ 台服务器到达第 $j$ 台服务器,反之亦然。 Rui Yuan 还有 $m$ 个应用程序正在运行,第 $j$ 个程序分布在 $a_j$ 和 $b_j$ 两台服务器上运行。 初始时,所有服务器都在运行状态。 第 $j$ 个应用程序如果对下面两个条件**都**成立时,可以运行: - $a_j$ 和 $b_j$ 均为运行中的服务器。 - $a_j$ 和 $b_j$ 之间可以通过数据线和**正在运行的服务器**连接。 Rui Yuan 想请你求出,至少停止运行多少台服务器,才能使所有应用程序停止运行。

输入格式

第一行,两个整数 $n,m$。 接下来 $n-1$ 行,每行两个整数 $u_i,v_i$。 接下来 $m$ 行,每行两个整数 $a_j,b_j$。

输出格式

第一行,一个整数 $x$,表示最少要停运多少台服务器。 接下来 $1$ 行 $x$ 个整数,表示要停运的服务器的编号。所有 $x$ 个整数应互不相同。你可以以任意顺序输出它们。

说明/提示

### 【数据范围】 |$\text{Subtask}$|分值|特殊性质| |:-:|:-:|:-:| |$0$|$0$|样例| |$1$|$4$|$a_i=b_i$| |$2$|$17$|$u_i=i,v_i=i+1$| |$3$|$14$|$n,m\le15$| |$4$|$29$|$n,m\le2000$| |$5$|$36$|无| 对于 $100\%$ 的数据,$1 \le n,m \le 200000,1 \le u_i,v_i \le n,u_i\not = v_i,1 \le a_j,b_j\le n$。