/ Vijos / 题库 /

美丽路径

美丽路径

时间限制:1秒  内存限制:256M


【题目描述】

  著名的转转山风景区有\(N\)个景点和\(M\)条双向小路,它们构成了一张无权的连通无向图\((2≤N≤2*10^5,N-1≤M≤2*10^5)\)。小H开始在游客中心,即景点1。
  初始时,景点 \(s_1,s_2,…,s_K\) 里有美丽的荷花池,而景点 \(d_1,d_2, …,d_L\) 是目标景点。当一条路径为美丽的,需要满足如下条件:
   ◆起点是游客中心 1。
   ◆终点是某个目标景点 \(x\)。
   ◆不存在从景点 1 到景点 \(x\) 的更短路径。
   ◆小H 沿途访问了所有荷花池。
  小H有一种特殊魔法,那就是可以挥动他的魔杖,使得最多再有一个景点(如果原本没有)变成荷花池。然而,小H并不是很果断。对于编号从 \(2\) 到 \(N\) 的景点 \(f\),在小H临时让景点f变成荷花池后,判断是否存在一条美丽的路径。

【输入格式】

  第一行包含 \(T(1≤T≤100)\),表示独立测试数据的数量。
  每个测试数据的第一行包含 \(N、M、K\) 和 \(L(0≤K≤N-1,1≤L≤N-1)\)。
  接下来的一行包含 \(s_1,s_2,…,s_K\)(\(2≤s_i≤N\),所 \(s_i\) 互不相同)。
  接下来的一行包含 \(d_1,d_2, …,d_L\)(\(2≤d_i≤N\),所有 \(d_i\) 互不相同)。
  接下来的M行每行包含 \(u\) 和 \(v\),表示游客中心 \(u\) 和 \(v\) 之间有一条无向边。所有边的长度视为相等。保证没有重边或自环。
  保证所有测试用例的N之和以及M之和均不超过106。

【输出格式】

  对于每个测试数据,输出一个长度为 \(N-1\) 的二进制字符串。字符串的第 \(i\) 个字符应为 1,如果对于第 \(i+1\) 号景点的答案为真(即存在美丽路径)。

【输入输出样例1】

 Input

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

 Output

111110

【样例1说明】

  由于5是唯一的目标景点,如果第i号景点位于从1到5的任意一条最短路径上,则答案为真。
  从1到5有两条最短路径,分别是1→2→3→4→5 和 1→2→3→6→5。
  由于原本没有景点包含荷花池,因此对于游客中心i,如果它位于上述两条路径中的至少一条上,则答案为真。

【输入输出样例2】

 Input

1
6 6 0 2
5 3
1 2
2 3
3 4
4 5
5 6
2 5

 Output

11010

【样例2说明】

  有两个目标景点:5和3。由于原本没有景点包含荷花池,第i号景点必须位于到5或3的最短路径上。因为游客中心2位于到游客中心5 的一条最短路径上,所以对于游客中心2 答案为真。显然,游客中心3 位于到游客中心3 的最短路径上,游客中心5 位于到游客中心5 的最短路径上。

【输入输出样例2】

 Input

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

 Output

111
000
1011

【样例2说明】

  对于第一个测试数据,如果小H 能在某条到游客中心4 的最短路径上依次经过游客中心i、游客中心2 和游客中心3(顺序不限),则对于第 i号景点答案为真。可以证明,对于所有景点答案均为真。

【测试点性质】

  - 输入 4-6:\(K=0\) 且 \(L=1\)
  - 输入 7-9:\(K=0\)
  - 输入 10-23:无额外限制。

【来源】

  Mr.he

信息

ID
3283
难度
9
分类
图结构 | 最短路拓扑排序动态规划 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
1
上传者