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}$。

来源/分类