#474. [R76F]信号分区

[R76F]信号分区

时空限制

1S/512M

题目描述

林区内的 nn 座信号站通过双向线路连成一棵树,信号站编号为 11nn。每座信号站采用 0011 两种模式之一。

工作人员至多进行一次调整:选择两座信号站 u,vu,v,将它们之间简单路径上的所有信号站同时切换模式,即 00 变为 1111 变为 00。允许 u=vu=v,此时只调整这一座信号站;也可以不进行调整。

随后,断开所有连接不同模式信号站的线路。剩余线路连接在一起的信号站组成一个独立分区,单独一座信号站也算一个分区。

请计算最终最多能够得到多少个独立分区。

格式

输入格式

第一行包含一个整数 nn

第二行包含一个长度为 nn 的字符串 cc,第 ii 个字符表示信号站 ii 的模式。

接下来 n1n-1 行,每行包含两个整数 u,vu,v,表示信号站 uuvv 之间有一条双向线路。

输出格式

输出一个整数,表示能够得到的最大分区数量。

样例

样例输入 #1

5
00000
1 2
1 3
1 4
1 5

样例输出 #1

5

样例解释 #1

只切换信号站 11 的模式,所有线路的两端模式都不同,断开后得到 55 个单站分区。

样例输入 #2

4
0101
1 2
2 3
3 4

样例输出 #2

4

样例解释 #2

不进行调整即可得到 44 个分区。

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le 特殊性质
11 2020 300300
22 3030 2×1052 \times 10^5 特殊性质 A
33 5050

特殊性质 A:原树是一条链,即每个顶点的度数不超过 22

对于 100%100\% 的数据,满足 1n2×1051 \le n \le 2 \times 10^5,字符串 cc 长度为 nn 且只含 01,每条边的端点满足 1u,vn1 \le u,v \le n,输入的 n1n-1 条边构成一棵无向树。