P3459 [POI 2007] MEG-Megalopolis
题目描述
Byteotia 最终也被全球化浪潮席卷,邮递员 Byteasar 也不例外。他曾经漫步在宁静的乡间小村中,如今却飞驰在高速公路上。但往昔那些悠闲的漫步,仍让他带着一丝温柔怀念。
过去,$n$ 个 Byteotia 村庄(编号 $1$ 至 $n$)通过双向泥土路相连,其结构满足:
从任意村庄出发到村庄 $1$(称为 Bitburg)存在唯一路径。
该路径仅经过编号小于等于起点村庄的村庄。
每条路直接连接两个不同村庄且不经过其他村庄。
道路不在村庄外交叉(但可能存在隧道或高架桥)。
岁月流转,乡间道路相继被改造成高速公路。Byteasar 清晰地记得每条路消失的时刻。如今,Byteotia 已无乡间小路——它们全被高速公路取代,将村庄连成了 Byteotia 大都市。
Byteasar 回想起他去各村送信的旅程。每次他从 Bitburg 出发,前往某个特定村庄。请你计算:对于每次发生在特定时刻、从 Bitburg 到指定村庄的旅程,他途经了多少条乡间道路。
### 任务
编写程序实现:
1. 输入:
- 初始道路连接描述
- 按时间顺序的事件序列(Byteasar 的旅程和道路改造事件)
2. 输出:
- 对每次旅程,计算 Byteasar 经过的乡间道路数量
输入格式
第一行:整数 $n$($1 \le n \le 250,000$),表示村庄数。
接下来 $n-1$ 行:每行两个整数 $a, b$($1 \le a < b \le n$),表示一条连接村庄 $a$ 和 $b$ 的初始道路。
下一行:整数 $m$($1 \le m \le 250,000$),表示旅程次数。
接下来 $n+m-1$ 行:按时间顺序描述事件:
- `A a b`($a < b$):村庄 $a$ 和 $b$ 间的道路被改造为高速公路。
- `W a`:Byteasar 从 Bitburg 出发到村庄 $a$ 的旅程查询。
输出格式
输出 $m$ 行,每行一个整数,表示每次旅程中经过的乡间道路数量。
说明/提示
翻译:DeepSeek-R1