4505:[GESP202503八级] 割裂
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:0
解决:0
题目描述
## 题目背景
2025 年 03 月 GESP C++ 八级编程第 2 题
## 题目描述
小杨有一棵包含 $n$ 个节点的树,其中节点的编号从 $1$ 到 $n$。
小杨设置了 $a$ 个好点对 $$, $$, $...$, $$ 和 $1$ 个坏点对 $$。一个节点能够被删除,当且仅当:
- 删除该节点后对于所有的 $i(1 \leq i \leq a)$,好点对 $u_{i}$ 和 $v_{i}$ 仍然连通;
- 删除该节点后坏点对 $b_{u}$ 和 $b_{v}$ 不连通。
如果点对中的任意一个节点被删除,其视为不连通。
小杨想知道,有多少个节点能够被删除。
## 输入格式
第一行包含两个正整数 $n, a$,含义如题面所示。
之后 $n - 1$ 行,每行包含两个正整数 $x_{i}, y_{i}$,代表存在一条连接节点 $x_{i}$ 和 $y_{i}$ 的边。
之后 $a$ 行,每行包含两个正整数 $u_{i}, v_{i}$,代表一个好点对 $$。
最后一行包含两个正整数 $b_{u}, b_{v}$,代表坏点对 $$。
## 输出格式
输出一个正整数,代表能够删除的节点个数。
## 样例
```input1
6 2
1 3
1 5
3 6
3 2
5 4
5 4
5 3
2 6
```
```output1
2
```
## 数据范围
| 子任务编号 | 数据点占比 | $n$ | $a$ |
| ----------| ----------| -----------------|------|
| 1 | $20\%$ | $10$ | $0$ |
| 2 | $20 \%$ | $\leq 100$ | $ \leq 100$ |
| 3 | $60\%$ | $\leq 10^6$ | $\leq 10^5$ |
对于全部数据,保证有 $1 \leq n \leq 10^6, 0 \leq a \leq 10^5, u_{i} \neq v_{i}, b_{u} \neq b_{v}$。