#P9655. 『GROI-R2』 Beside You

    ID: 10055 远端评测题 1200ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>并查集树上启发式合并洛谷原创O2优化树形 DP最近公共祖先 LCA树论虚树洛谷月赛

『GROI-R2』 Beside You

背景

記憶の森

始まりの謎 いつか

この未知の果てに告げ知らせて

——江口孝宏《Beside You》

题目描述

我相信所有读过这一段剧情的人都不想让别人也经历一样的痛苦,但是坦尼尔还是只能消失,对吗?

坦尼尔最后留下了一棵以 11 为根的有根树,在树的每个结点上,都有一个记忆碎片。有的碎片表示着一个世界记忆的开始,而另外的碎片表示着一个世界记忆的终结。

这时,树上飞来了一只蝴蝶モリモリあつし。蝴蝶在树上飞舞的过程中,经过了一些结点。爱丽丝能确定蝴蝶经过的结点个数至少有 22 个,但是她忘记了具体的点数。

爱丽丝发现,蝴蝶经过的所有点都是互相连通的。当她把目光朝向每一条经过点数大于 11 的从连通块深度最小的结点通往连通块的任意一个叶子结点(一个点是连通块的叶子结点,当且仅当它在树上没有子结点,或者它在树上的任意子结点均不在该连通块内)的简单路径时,她发现这些路径上的记忆都是完整的。爱丽丝认为一条路径上的记忆是完整的,当且仅当这条路径上既没有出现一个世界的记忆没开始就结束(路径中途在没有未结束的记忆的时候,出现了表示记忆终结的碎片)的情况,也没有出现一个世界的记忆开始之后没有终结(路径结束之后还有没结束的记忆)的情况。

可惜她已经遗忘了蝴蝶经过了哪些点,所以你需要告诉她蝴蝶最多可能经过多少点。

形式化题面

给定一棵以 11 为根的 nn 个节点的树 T=(V,E)T=(V,E),每个节点上的点权 cic_i 为一个左括号或一个右括号,节点编号为 1∼n1\sim n。

我们定义点集 V′⊆VV'\subseteq V 合法,当且仅当 ∣V′∣>1|V'|>1(即 V′V' 的大小大于 11) 且 ∀u,v∈V′\forall u,v \in V',从 uu 到 vv 的简单路径只经过 V′V' 中的点。

同时我们定义 E′⊆EE'\subseteq E 为能使得 ∀u,v∈V′\forall u,v \in V',从 uu 到 vv 的简单路径,只经过 E′E' 中的边的大小最小的边集。

定义一个合法点集 V′V' 的根为 V′V' 中深度最小的结点。

定义 uu 为合法点集 V′V' 的叶子节点,当且仅当 uu 不是 V′V' 的根,且满足 v∈V′,(u,v)∈E′v \in V', (u,v) \in E' 的 vv 的数量为 11。

求一个合法点集 SS,满足其根节点到其任意一个叶子的路径上,每个点的点权顺次相接为一个合法的括号序列,并最大化 ∣S∣|S|。

我们通过如下规则定义一个合法的括号序列:

  • 空串(即长度为 00 的串)是一个合法的括号序列。

  • 若串 A,B\text{A,B} 都是合法的括号序列,则字符串 AB\text{AB} (即将字符串 A\text{A} 与 B\text{B} 按顺序拼接起来)也是合法的括号序列。

  • 若串 A\text{A} 是合法的括号序列,则字符串 (A)\text{(A)} 是一个合法的括号序列。

你需要输出符合要求的最大 ∣S∣|S|。

输入格式

第一行输入一个正整数 nn 表示树上结点个数。

第二行输入一个长度为 nn 的字符串 cc。cic_i 为 ( 表示这个结点上有一个标志着记忆开始的碎片,cic_i 为 ) 表示这个结点上有一个标志着记忆终结的碎片。

接下来 n−1n-1 行,每行输入两个正整数 u,vu,v,表示结点 u,vu,v 之间有一条边。

输出格式

输出一行一个整数,表示答案。

3
())
1 2
1 3
3
8
()))())(
1 2
1 3
3 4
3 5
3 6
5 7
2 8
5

提示

样例解释

蝴蝶经过的最大合法点集 SS 为 {1,2,3}\{1,2,3\}。

蝴蝶经过的最大合法点集 SS 为 {1,2,3,5,7}\{1,2,3,5,7\}。

数据范围

本题采用捆绑测试。

Subtask\text{Subtask} n≤n\le 特殊性质 分值
11 2020 55
22 30003000 2020
33 5×1055\times10^5 A\text{A} 1515
44 B\text{B} 1010
55 2×1052\times10^5 1515
66 5×1055\times10^5 3535

特殊性质 A\text{A}:保证树退化成一条链(不保证 11 号节点为其一个端点)。

特殊性质 B\text{B}:保证原树上任意结点到叶子的路径上右括号数量不少于左括号数量。

对于 100%100\% 的数据满足 1≤n≤5×1051\le n\le 5\times 10^5,1≤u,v≤n1\le u,v \le n,cic_i 为 ( 或 )。