AT_arc097_d [ARC097F] Monochrome Cat
题目描述
有一棵包含 $N$ 个顶点的树,每个顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $x_i$ 和 $y_i$。每个顶点被涂成白色或黑色。初始状态下,顶点 $i$ 的颜色由 $c_i$ 表示。当 $c_i = \text{W}$ 时,表示顶点为白色;当 $c_i = \text{B}$ 时,表示顶点为黑色。
有一只猫在树的顶点上移动。具体来说,每 $1$ 秒可以重复执行以下两种操作之一:
- 选择当前所在顶点的一个相邻顶点,移动到该顶点,并将移动到的顶点颜色反转。
- 将当前所在顶点的颜色反转。
猫的目标是将所有顶点都涂成黑色。可以从任意顶点开始,也可以在任意顶点结束。请问,最少需要多少秒才能达成目标?
输入格式
输入以如下格式从标准输入读入:
> $N$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_{N-1}$ $y_{N-1}$
> $c_1c_2\ldots c_N$
输出格式
输出达成目标所需的最小秒数。
说明/提示
## 限制条件
- $1 \leq N \leq 10^5$
- $1 \leq x_i, y_i \leq N$ ($1 \leq i \leq N-1$)
- 给定的图是一棵树
- $c_i = \text{W}$ 或 $c_i = \text{B}$
## 样例解释 1
例如,按照如下方式行动可以在 $5$ 秒内达成目标:
- 从顶点 $1$ 开始,将顶点 $1$ 的颜色变为黑色。
- 移动到顶点 $2$,将顶点 $2$ 的颜色变为白色。
- 将顶点 $2$ 的颜色变为黑色。
- 移动到顶点 $4$,将顶点 $4$ 的颜色变为黑色。
- 移动到顶点 $5$,将顶点 $5$ 的颜色变为黑色。
由 ChatGPT 4.1 翻译