A5173 | 闭路
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给定一个由 $n$ 个顶点和 $n-1$ 条边组成的连通无向图。每个顶点依次编号为 $1$ 到 $n$。
在图论中,满足这些条件的图被称为**树**,它具有不含环的性质。
现在,我们考虑向这个图中添加一条原图中不存在的边 $(a,b)$。添加后,图中将恰好形成一个环。
你的任务是,对于给定的若干条待添加的边,输出每条边添加后所形成的环的长度(环所包含的边的数量)。
总共会给出 $Q$ 个待添加的边的询问,你需要对所有这些询问输出答案。
在图论中,满足这些条件的图被称为**树**,它具有不含环的性质。
现在,我们考虑向这个图中添加一条原图中不存在的边 $(a,b)$。添加后,图中将恰好形成一个环。
你的任务是,对于给定的若干条待添加的边,输出每条边添加后所形成的环的长度(环所包含的边的数量)。
总共会给出 $Q$ 个待添加的边的询问,你需要对所有这些询问输出答案。
输入格式
第 $1$ 行是一个整数 $N\ (1 \le N \le 100,000)$,表示图的顶点数。
接下来的 $N-1$ 行描述了图的边。第 $i$ 行包含两个由空格分隔的整数 $x_i$ 和 $y_i$,表示一条连接顶点 $x_i$ 和 $y_i$ 的边。
第 $N+1$ 行是一个整数 $Q\ (1 \le Q \le 100,000)$,表示待添加边的询问数量。
接下来的 $Q$ 行描述了待添加边的信息。第 $i$ 行包含两个由空格分隔的整数 $a_i$ 和 $b_i$,表示第 $i$ 个询问中要添加的边。
保证给定的所有边都连接图中存在的顶点。
- 图不包含自环,即对于任意 $i$,都有 $x_i \neq y_i$。
- 图不包含重边,即对于任意 $i, j (i \neq j)$,都有 $\{x_i, y_i\} \neq \{x_j, y_j\}$。
- 保证待添加的边是原图中不存在的边,并且不是自环。
接下来的 $N-1$ 行描述了图的边。第 $i$ 行包含两个由空格分隔的整数 $x_i$ 和 $y_i$,表示一条连接顶点 $x_i$ 和 $y_i$ 的边。
第 $N+1$ 行是一个整数 $Q\ (1 \le Q \le 100,000)$,表示待添加边的询问数量。
接下来的 $Q$ 行描述了待添加边的信息。第 $i$ 行包含两个由空格分隔的整数 $a_i$ 和 $b_i$,表示第 $i$ 个询问中要添加的边。
保证给定的所有边都连接图中存在的顶点。
- 图不包含自环,即对于任意 $i$,都有 $x_i \neq y_i$。
- 图不包含重边,即对于任意 $i, j (i \neq j)$,都有 $\{x_i, y_i\} \neq \{x_j, y_j\}$。
- 保证待添加的边是原图中不存在的边,并且不是自环。
输出格式
对于每个询问,输出将该边添加到原图中后形成的环的长度。共输出 $Q$ 行,每行一个答案。请在输出的末尾添加一个换行符。
输入输出样例
输入 #1
5 1 2 1 3 1 4 4 5 3 2 3 2 5 2 4
输出 #1
3 4 3
输入 #2
6 1 2 2 3 3 4 4 5 5 6 4 1 3 1 4 1 5 1 6
输出 #2
3 4 5 6
输入 #3
7 3 1 2 1 2 4 2 5 3 6 3 7 5 4 5 1 6 5 6 4 7 5 3
输出 #3
3 3 5 5 4
下图展示了样例1中的树结构。


C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?