A4977 | 树
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
$Alice$ 拥有一棵有根树, 一共有 $n$ 个节点,然而她不慎遗忘了这棵树的根节点编号。
尽管如此,$Alice$ 还大致记得这棵树的结构形态。已知这棵树存在 $q$ 条约束条件,每一条约束条件都明确指出节点 $x_i$ 是节点 $y_i$ 的父节点。在这样的情况下,$Alice$ 十分好奇,想弄清楚这棵树可能的根节点数量究竟是多少呢?
尽管如此,$Alice$ 还大致记得这棵树的结构形态。已知这棵树存在 $q$ 条约束条件,每一条约束条件都明确指出节点 $x_i$ 是节点 $y_i$ 的父节点。在这样的情况下,$Alice$ 十分好奇,想弄清楚这棵树可能的根节点数量究竟是多少呢?
输入格式
第一行输入两个整数 $n$ , $q$ ,代表着树节点的个数以及约束的个数。
接下来 $n-1$ 行,每行输入两个整数 $u_i,v_i$,代表着节点 $u_i,v_i$ 之间存在着一条边。
接下来 $q$ 行,每行输入两个整数 $x_i,y_i$, 代表着节点 $x_i$ 是节点 $y_i$ 的父亲。
接下来 $n-1$ 行,每行输入两个整数 $u_i,v_i$,代表着节点 $u_i,v_i$ 之间存在着一条边。
接下来 $q$ 行,每行输入两个整数 $x_i,y_i$, 代表着节点 $x_i$ 是节点 $y_i$ 的父亲。
输出格式
输出一个整数,代表着可能的根节点的数目。
输入输出样例
输入 #1
3 2 1 2 1 3 1 2 1 3
输出 #1
1
输入 #2
3 1 1 2 2 3 1 2
输出 #2
1
数据范围
- $1 \le q \lt n \le 10^6$
- $1 \le u_i,v_i \le n$
- $1 \le x_i , y_i \le n$
- 保证给出的 $x_i,y_i$ 之间存在一条边。
- 对于所有给出的限制,至少存在一个合法的叶子节点。
- 保证每个限制之间互不相同
- $1 \le q \lt n \le 10^6$
- $1 \le u_i,v_i \le n$
- $1 \le x_i , y_i \le n$
- 保证给出的 $x_i,y_i$ 之间存在一条边。
- 对于所有给出的限制,至少存在一个合法的叶子节点。
- 保证每个限制之间互不相同
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?