题目描述
题目译自 JOISC 2017 Day3 T2「細長い屋敷 / Long Mansion」
N 个房间排列在一条直线上,依次编号为 1,2,…,N。只有编号相邻的房间才相连。相连的房间之间有上锁的门。
从房间 i 进入房间 i+1,或者从房间 i+1 进入房间 i,需要类型为 Ci 的钥匙 (1≤i≤N−1)。
进入房间 i 可以捡起房间里的所有钥匙。房间 i 有 Bi 把钥匙,类型分别为 A[i][1]…A[i][Bi] 保证对于同一个 i,没有两个 A[i][j] 相同。钥匙可以重复使用。你可能会获得相同的钥匙,然并卵。
现在有 Q 组查询,每组查询用两个整数 x,y 来描述 (x=y),表示:如果有人被丢进房间 x,手上没有任何钥匙,此人能否到达房间 y(当然,此人可以捡房间 x 里的钥匙)。
对于每组查询,如果此人能到达,输出 YES,否则输出 NO 。
输入格式
第一行有一个整数 N。
第二行有 N−1 个整数 C1,C2,…,CN−1,用空格分隔。
在接下来的 N 行中,第 i 行 (1≤i≤N) 的开头有一个整数 Bi,后面有 Bi 个整数 A[i][1]…A[i][Bi],这 Bi+1 个整数用空格分隔。
第 N+2 行有一个整数 Q。
在接下来的 Q 行中,第 k 行 (1≤k≤Q) 有两个整数 Xk,Yk,表示一组查询。
输出格式
输出共 Q 行,每行一个字符串 YES 或 NO ,表示此人能否到达房间 y。
5
1 2 3 4
2 2 3
1 1
1 1
1 3
1 4
4
2 4
4 2
1 5
5 3
YES
NO
NO
YES
5
2 3 1 3
1 3
1 2
1 1
1 3
1 2
4
1 3
3 1
4 3
2 5
NO
YES
NO
YES
7
6 3 4 1 2 5
1 1
1 5
1 1
1 1
2 2 3
1 4
1 6
3
4 1
5 3
4 7
YES
NO
YES
数据范围与提示
对于所有数据,2≤N≤5×105, 1≤Q≤5×105, 1≤∑Bi≤5×105, 1≤Bi,Ci,A[i][j],Xk,Yk≤N, Xk=Yk。
子任务 # |
分值 |
N |
Q |
∑Bi |
Ci,A[i][j] |
1 |
5 |
N≤5000 |
Q≤5000 |
∑Bi≤5000 |
|
2 |
|
3 |
15 |
N≤105 |
|
Ci,A[i][j]≤20 |
4 |
75 |
|
|