#P10787. [NOI2024] 树的定向

[NOI2024] 树的定向

背景

由于评测机性能差异,原题时限为 3s,洛谷上时限为 6s。

题目描述

给定一棵含有 nn 个顶点的树,顶点从 11 到 nn 编号,树上第 i(1≤i≤n−1)i(1\leq i\leq n-1) 条边连接顶点 uiu_i 和 viv_i。

现在,我们想要给树的每条边一个定向。任何一个定向都可以用一个长度为 n−1n-1 的字符串 S=s1s2…sn−1S=s_1s_2\ldots s_{n-1} 来描述。其中 si=0s_i=0 代表第 ii 条边定向为 ui→viu_i \to v_i,否则 si=1s_i=1 代表第 ii 条边定向为 vi→uiv_i\to u_i。

给定 mm 个顶点对 (ai,bi)(a_i,b_i),其中 1≤ai,bi≤n1\leq a_i,b_i \leq n 且 ai≠bia_i\neq b_i。

一个完美定向定义为:在此定向下,对于任意 1≤i≤m1\leq i\leq m,aia_i 不能到达 bib_i。

试求在所有完美定向中,所对应的字符串字典序最小的定向。数据保证存在至少一个完美定向。

定义字符串 S=s1s2…sn−1S=s_1s_2\ldots s_{n-1} 的字典序小于 T=t1t2…tn−1T=t_1t_2\ldots t_{n-1} 若存在一个下标 kk 使得 s1=t1,s2=t2,…,sk−1=tk−1s_1=t_1, s_2=t_2, \ldots, s_{k-1}=t_{k-1} 且 sk<tks_k < t_k。

输入格式

输入的第一行包含三个非负整数 c,n,mc,n,m,分别表示测试点编号,树的点数,顶点对的个数。其中 c=0c=0 表示该测试点为样例。

接下来 n−1n-1 行,每行包含两个正整数 ui,viu_i,v_i 表示树的一条边。保证 1≤ui,vi≤n1\leq u_i,v_i\leq n 且这 n−1n-1 条边构成了一棵树。

接下来 mm 行,每行包含两个正整数 ai,bia_i,b_i。保证 1≤ai,bi≤n1\leq a_i,b_i \leq n 且 ai≠bia_i\neq b_i。

输出格式

输出一行包含一个字符串 S=s1s2…sn−1S=s_1s_2\ldots s_{n-1},表示字典序最小的完美定向所对应的 0101 字符串。

0 4 2
1 2
2 3
3 4
3 2
1 4
001
0 6 8
5 1
2 3
1 2
5 6
4 3
4 3
5 1
6 3
5 4
1 4
5 2
3 6
6 2
10101
见 tree3.in/tree3.ans
这个样例满足测试点 1-3 的约束条件。

见 tree4.in/tree4.ans
这个样例满足测试点 4-6 的约束条件。

见 tree5.in/tree5.ans
这个样例满足测试点 7,8 的约束条件。

见 tree6.in/tree6.ans
这个样例满足测试点 9,10 的约束条件。

提示

【样例 1 解释】

在该样例中,若 S=000S=000,则该定向中 11 能到达 44(存在路径 1→2→3→41\to 2\to 3\to 4),因而不是完美定向。若 S=001S=001,则该定向中 33 不能到达 22,11 不能到达 44,因面是完美定向。故答案为 001001。

【样例 2 解释】

在该样例中,一组完美定向必定满足 44 不能到达 33,55 不能到达 11。故 s1=s5=1s_1=s_5=1。若 s2=s3=0s_2=s_3=0,则存在路径 1→2→3→41\to 2\to 3\to 4,故 11 可到达 44。故其不是完美定向。因此,所有完美定向必定满足 SS 的字典序不小于 1010110101。且容易验证 S=10101S=10101 时,对应的定向是完美定向。

【数据范围】

对于所有测试数据保证 2≤n≤5×1052\leq n\leq 5\times 10^5,1≤m≤5×1051\leq m\leq 5\times 10^5,1≤ui,vi≤n1\leq u_i,v_i\leq n 且所有的边构成了一棵树,1≤ai,bi≤n1\leq a_i,b_i \leq n 且 ai≠bia_i\neq b_i。

数据保证存在至少一个完美定向。

::cute-table{tuack}

测试点编号 nn mm 特殊性质
1∼31\sim 3 ≤15\leq 15 ≤50\leq 50 无
4∼64\sim 6 ≤300\leq 300
7,87,8 ≤400\leq 400 =(n−1)(n−2)=(n-1)(n-2) A
9,109,10 ≤2 000\leq 2\,000 B
11∼1411\sim 14 无
15,1615,16 ≤105\leq 10^5 B
17,1817,18 无
19∼2119\sim 21 ≤2×105\leq 2\times 10^5
22∼2522\sim 25 ≤5×105\leq 5\times 10^5
  • 特殊性质 A:保证 (a,b)(a,b) 出现在 (ai,bi)(a_i,b_i) 中当且仅当 a≠ba\neq b 且 a,ba,b 在树上不相邻。
  • 特殊性质 B:保证树上编号为 11 的顶点与其他每个顶点均相邻。