#P15577. [USACO26FEB] Picking Flowers G

[USACO26FEB] Picking Flowers G

说明

注意:本题的时间限制为 3 秒,是默认时间的 1.5 倍。

农夫约翰的农场结构可以表示为一个有 NN 个顶点和 MM 条无权重边的连通无向图(2N21052 \leq N \leq 2 \cdot 10^5N1M2105N - 1 \leq M \leq 2 \cdot 10^5)。初始时,农夫约翰在他的谷仓,即农场 11

初始时,农场 s1,s2,,sKs_1, s_2, \ldots, s_K 包含花田,而农场 d1,d2,,dLd_1, d_2, \ldots, d_L 是目标农场。FJ 称一条路径为 美丽的,如果它满足:

  • 起点是农场 11
  • 终点是某个目标农场 xx
  • 不存在从农场 11 到农场 xx 的更短路径。
  • FJ 沿途访问了所有花田。

FJ 可以挥动他的魔杖,使得最多再有一个农场(如果原本没有)变成花田。然而,FJ 并不是很果断。对于编号从 22NN 的农场 ff,在 FJ 临时让农场 ff 变成花田后,判断是否存在一条美丽的路径。

注意,有多个测试用例,每个用例需独立处理。

输入格式

第一行包含 TT1T1001 \leq T \leq 100),表示独立测试用例的数量。

每个测试用例的第一行包含 NNMMKKLL0KN10 \leq K \leq N - 11LN11 \leq L \leq N - 1)。

接下来的一行包含 s1,s2,,sKs_1, s_2, \ldots, s_K2siN2 \leq s_i \leq N,所有 sis_i 互不相同)。

接下来的一行包含 d1,d2,,dLd_1, d_2, \ldots, d_L2diN2 \leq d_i \leq N,所有 did_i 互不相同)。

接下来的 MM 行每行包含 uuvv,表示农场 uuvv 之间有一条无向边。所有边的长度视为相等。保证没有重边或自环。

保证所有测试用例的 NN 之和以及 MM 之和均不超过 10610^6

输出格式

对于每个测试用例,输出一个长度为 N1N - 1 的二进制字符串。字符串的第 ii 个字符应为 11,如果对于第 i+1i+1 号农场的答案为真(即存在美丽路径)。

1
7 7 0 1

5
1 2
2 3
3 4
4 5
5 6
6 7
3 6
111110
1
6 6 0 2

5 3
1 2
2 3
3 4
4 5
5 6
2 5
11010
3
4 3 2 1
2 3
4
1 2
2 3
3 4
4 4 2 1
2 3
4
1 2
1 3
2 4
3 4
5 5 2 1
2 4
5
1 2
1 3
2 4
3 4
4 5
111
000
1011

提示

样例 1 解释

由于 55 是唯一的目标农场,如果第 ii 号农场位于从 1155 的任意一条最短路径上,则答案为真。 从 1155 有两条最短路径,分别是 $1 \rightarrow 2 \rightarrow 3 \rightarrow 4 \rightarrow 5$ 和 $1 \rightarrow 2 \rightarrow 3 \rightarrow 6 \rightarrow 5$。 由于原本没有农场包含花田,因此对于农场 ii,如果它位于上述两条路径中的至少一条上,则答案为真。

样例 2 解释

有两个目标农场:5533。由于原本没有农场包含花田,第 ii 号农场必须位于到 5533 的最短路径上。因为农场 22 位于到农场 55 的一条最短路径上,所以对于农场 22 答案为真。显然,农场 33 位于到农场 33 的最短路径上,农场 55 位于到农场 55 的最短路径上。

样例 3 解释

对于第一个测试用例,如果 FJ 能在某条到农场 44 的最短路径上依次经过农场 ii、农场 22 和农场 33(顺序不限),则对于第 ii 号农场答案为真。可以证明,对于所有农场答案均为真。

评分标准

  • 输入 4-6:K=0K = 0L=1L = 1
  • 输入 7-9:K=0K = 0
  • 输入 10-23:无额外限制

题目来源:Chongtian Ma

翻译由 DeepSeek 完成