#P12697. [集训队互测2025day15]字符游戏

[集训队互测2025day15]字符游戏

题目描述

Alice 和 Bob 正在玩游戏。初始时有一个字符串可重集 SS,Alice 和 Bob 轮流操作,Alice 先手。每次可以选择一个 SS 中的字符串 ss,将其从 SS 中删除,并选择一个在 ss 中出现过的字符 cc,将 ss 中的所有字符 cc 删除,并沿着这些删除的位置将 ss 划分成若干子串,将这些子串中非空的加入进集合 SS。不能进行操作的人输。

现在给定一棵树,节点数为 nn,每个节点上有字符。记 path(u,v)\text{path}(u,v) 表示将节点 uuvv 的最短路径所经过的节点(包括 uuvv)上的字符依次拼接而成的字符串。共 qq 次询问,每次询问给定 uuvv,求 S={path(u,v)}S = \{\text{path}(u,v)\} 时的胜者。若 Alice 获胜,同时输出第一步有多少种走法。

输入格式

从标准输入读入数据。

第一行输入两个正整数 nnqq

第二行输入一个长度为 nn 的字符串 ss,其第 iisis_i 表示节点 ii 上的字符。

接下来的 n1n-1 行,每行两个正整数 uuvv,描述树上的一条边。

接下来的 qq 行,每行两个正整数 uuvv,代表一组询问。

输出格式

输出到标准输出。

输出共 qq 行。对于每组询问,若 Alice 获胜,输出 Alice 以及第一步的走法数,以空格分开。否则,输出 Bob

样例

样例 1 输入
10 10
1412002124
1 2
2 3
3 4
4 5
4 6
5 7
5 8
6 9
7 10
7 6
10 2
8 8
7 2
2 9
1 7
5 1
3 8
1 2
7 1
样例 1 输出
Alice 2
Alice 1
Alice 1
Alice 1
Alice 1
Bob
Alice 1
Alice 1
Bob
Bob

子任务

保证对于所有测试点满足:1n5×1041 \le n \le 5 \times 10^41q1051 \le q \le 10^50si<100 \le s_i < 10

子任务编号$n \le$$q \le$$s_i \le$特殊性质分数
$1$$10$$10^3$$10$$7$
$2$$500$$2 \times 10^4$$10$$A$$13$
$3$$3,000$$2 \times 10^4$$10$$A$$12$
$4$$5 \times 10^4$$10^5$$10$$A$$19$
$5$$2 \times 10^4$$2 \times 10^4$$5$$24$
$6$$5 \times 10^4$$10^5$$10$$25$

特殊性质 AA:保证树的形态为一条链。

下发文件中的 $i.in/$i.ans 满足子任务 ii 的限制。