#arc097d. [arc097_d]Monochrome Cat

[arc097_d]Monochrome Cat

题目描述

有一棵包含 NN 个顶点的树,顶点编号从 11NN。第 ii 条边连接顶点 xix_iyiy_i。每个顶点被涂成白色或黑色。顶点 ii 的初始颜色由字母 cic_i 表示。cic_i \= W 表示顶点是白色;cic_i \= B 表示顶点是黑色。

一只猫会沿着这棵树走动。具体来说,她每秒钟执行以下操作之一:

  • 选择一个与当前所在顶点相邻的顶点,并移动到该顶点。然后,颜色翻转目标顶点。
  • 翻转当前所在顶点的颜色。

猫的目标是将所有的顶点都涂成黑色。她可以在任意一个顶点开始和结束行动。至少需要多少秒才能使猫达到目标?

约束条件

  • 11 NN 10510^5
  • 11 xi,yix_i,y_i NN (11 ii N1N-1)
  • 给定的图是一棵树。
  • cic_i \= Wcic_i \= B

输入

输入是标准输入提供的,格式如下:

NN x1x_1 y1y_1 x2x_2 y2y_2 :: xN1x_{N-1} yN1y_{N-1} c1c2..cNc_1c_2..c_N

输出

打印达到目标所需的最小秒数。


示例输入 1

5
1 2
2 3
2 4
4 5
WBBWW

示例输出 1

5

可以在五秒内达到目标,例如:

  • 从顶点 11 开始。将顶点 11 的颜色改为黑色。
  • 移动到顶点 22,然后将顶点 22 的颜色改为白色。
  • 将顶点 22 的颜色改为黑色。
  • 移动到顶点 44,然后将顶点 44 的颜色改为黑色。
  • 移动到顶点 55,然后将顶点 55 的颜色改为黑色。

示例输入 2

6
3 1
4 5
2 6
6 1
3 4
WWBWBB

示例输出 2

7

示例输入 3

1
B

示例输出 3

0

示例输入 4

20
2 19
5 13
6 4
15 6
12 19
13 19
3 11
8 3
3 20
16 13
7 14
3 17
7 8
10 20
11 9
8 18
8 2
10 1
6 13
WBWBWBBWWWBBWWBBBBBW

示例输出 4

21