#P3719. 「COCI 2022.4」Palindromi

「COCI 2022.4」Palindromi

题目描述

译自 COCI 2021/2022 Contest #6 T4「Palindromi」

给你一个长度为 nn0101 序列,下标为 1,2,,n1,2,\ldots,n。最初每个字符都代表了一个长度为 11 的字符串。在一次连接中,需要选择两个字符串 aabb,将它们删除后,换为字符串 abab,即在写下 aa 中的所有字符后写下字符串 bb 的所有字符。

nn 个初始字符串需要用 n1n-1 次连接操作连成一个字符串。第 ii 次选择的字符串用一个下标对 (ai,bi)(a_i,b_i) 描述,表示要连接的字符串是包含下标为 aia_i 的字符的和包含下标为 bib_i 的字符的。保证下标为 aia_ibib_i 的字符不在同一字符串中。

一些字符串 ww回文值被定义为 ww 中不同回文子串的个数。我们定义回文串为从左到右读和从右到左读相同的字符串。一个字符串的子串被定义为可以从字符串开头和(或)结尾开始删去一个或多个字符得到的字符串。

对于每次连接操作,输出每次连成的字符串的回文值。

输入格式

第一行包含一个整数 nn,表示字符个数。

第二行一个长度为 nn0101 字符串,表示初始字符串。

接下来 n1n-1 行,每行两个整数 ai,bia_i,b_i,表示第 ii 次连接操作。

输出格式

输出 n1n-1 行,表示每次连接操作得到的字符串的回文值。

3
010
1 2
2 3

2
3

5
00111
4 1
1 5
2 1
3 1

2
3
4
5

8
10010000
7 5
4 2
3 6
1 3
6 8
5 3
1 2

2
2
2
3
4
6
8

数据范围与提示

对于所有数据,1n100 000,1ai,bin,aibi1\le n\le 100\ 000,1\le a_i,b_i\le n,a_i\neq b_i

详细子任务附加限制即分值如下表所示。

子任务编号 附加限制 分值
11 1n1001\le n\le 100 99
22 1n10001\le n\le 1000 1818
33 对于所有 i=1,2,,n1i=1,2,\ldots,n-1ai=1,bi=i+1a_i=1,b_i=i+1 2727
44 无附加限制 4646