#CF2065F. Skibidus and Slay
Skibidus and Slay
题目描述
我们定义一个长度为 的序列的绝对众数为:该序列中唯一一个出现次数严格大于 的数值。如果不存在这样的数值,则称该序列没有绝对众数。例如,序列 的绝对众数为 (因为 出现了 次,),而序列 和 则没有绝对众数。
Skibidus 找到了一棵有 个顶点的树 以及一个长度为 的数组 。其中,顶点 上写有数值 ,且 是区间 内的一个整数。
对于每个 (),请判断是否存在一条非平凡的简单路径 ,使得该路径上顶点构成的数值序列的绝对众数为 。
树指的是一个无环的连通图。
非平凡的简单路径指的是一个顶点序列 (其中 ),满足对于所有 ,顶点 与 之间存在一条边,并且所有顶点均互不相同。注意路径至少包含 个顶点。
输入格式
每个测试包含多个测试用例。输入的第一行给出测试用例的数量 ()。随后是各个测试用例的描述。
每个测试用例的第一行包含一个整数 (),表示顶点数。
每个测试用例的第二行包含 (),表示写在顶点上的整数。
接下来 行,每行包含两个整数 和 ,表示一条连接顶点 与 的边( 且 )。
题目保证给定的边构成一棵树,并且所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出一行一个长度为 的二进制字符串 。其中第 个字符 定义如下:
- 如果存在一条非平凡路径,使得该路径上顶点构成的数值序列的绝对众数为 ,则 为
1; - 否则, 为
0。
样例
4
3
1 2 3
1 3
2 3
4
3 1 1 3
1 2
2 3
4 2
4
2 4 4 2
1 2
2 3
3 4
13
1 4 4 7 4 7 1 1 7 11 11 11 11
1 2
2 3
3 4
4 5
4 6
2 7
7 8
2 9
6 10
5 11
11 12
10 13
000
1010
0001
1001001000100
样例说明
- 在第一个测试用例中,没有任何一条非平凡路径能使得 、 或 成为绝对众数,因此输出的二进制字符串为
000。 - 在第二个测试用例中,路径 是一条非平凡路径,在该路径上 为绝对众数。
来源
Codeforces 2065F,英文题名 Skibidus and Slay。