CF2065F.Skibidus and Slay
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
我们定义一个长度为 k 的序列的绝对众数为:该序列中唯一一个出现次数严格大于 ⌊2k⌋ 的数值。如果不存在这样的数值,则称该序列没有绝对众数。例如,序列 [1,3,2,3,3] 的绝对众数为 3(因为 3 出现了 3 次,3>⌊25⌋=2),而序列 [1,2,3,4,5] 和 [1,3,2,3,4] 则没有绝对众数。
Skibidus 找到了一棵有 n 个顶点的树 $ ^{\text{∗}} $ 以及一个长度为 n 的数组 a。其中,顶点 i 上写有数值 ai,且 ai 是区间 [1,n] 内的一个整数。
对于每个 i(1≤i≤n),请判断是否存在一条非平凡的简单路径 $ ^{\text{†}} $,使得该路径上顶点构成的数值序列的绝对众数为 i。
$ ^{\text{∗}} $ 树指的是一个无环的连通图。
$ ^{\text{†}} $ 非平凡的简单路径指的是一个顶点序列 v1,v2,…,vm(其中 m≥2),满足对于所有 1≤i≤m−1,顶点 vi 与 vi+1 之间存在一条边,并且所有顶点均互不相同。注意路径至少包含 2 个顶点。
输入格式
每个测试包含多个测试用例。输入的第一行给出测试用例的数量 t(1≤t≤104)。随后是各个测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤5⋅105),表示顶点数。
每个测试用例的第二行包含 a1,a2,…,an(1≤ai≤n),表示写在顶点上的整数。
接下来 n−1 行,每行包含两个整数 ui 和 vi,表示一条连接顶点 ui 与 vi 的边(1≤ui,vi≤n 且 ui=vi)。
题目保证给定的边构成一棵树,并且所有测试用例中 n 的总和不超过 5⋅105。
输出格式
对于每个测试用例,输出一行一个长度为 n 的二进制字符串 s。其中第 i 个字符 si 定义如下:
- 如果存在一条非平凡路径,使得该路径上顶点构成的数值序列的绝对众数为 i,则 si 为
1; - 否则,si 为
0。
输入输出样例
输入#1
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
输出#1
000 1010 0001 1001001000100
说明/提示
- 在第一个测试用例中,没有任何一条非平凡路径能使得 1、2 或 3 成为绝对众数,因此输出的二进制字符串为
000。 - 在第二个测试用例中,路径 1→2→4 是一条非平凡路径,在该路径上 3 为绝对众数。
输入解题思路,AI测评打分。不知道怎么写?