QOJ.ac

QOJ

実行時間制限: 3 s メモリ制限: 256 MB 満点: 100

#367. 긴 저택

統計

JOI 군의 집 근처에는 넓은 저택이 있습니다. 이 저택에는 동쪽에서 서쪽으로 일렬로 배치된 $N$개의 방이 있습니다. 가장 동쪽에 있는 방에서부터 $i$번째 방을 방 $i$라고 부릅니다. $1 \le i \le N-1$인 각 $i$에 대해 방 $i$와 방 $i+1$은 복도로 연결되어 있습니다. 복도는 양방향으로 지나갈 수 있습니다. 방에서 복도로 들어가려면 열쇠가 필요합니다. 각 열쇠에는 종류라고 불리는 번호가 적혀 있습니다. 두 개 이상의 열쇠가 같은 종류를 가질 수도 있습니다.

방 $i$ 또는 방 $i+1$에서 두 방을 연결하는 복도로 들어가려면 종류 $C_i$인 열쇠가 필요합니다.

방 $i$에는 $B_i$개의 열쇠가 있습니다. 이 열쇠들의 종류는 $A_{i,j}$ ($1 \le j \le B_i$)입니다. JOI 군이 어떤 방에 들어가면 그 방에 있는 모든 열쇠를 줍습니다. 그 후에는 주운 열쇠들을 사용하여 복도로 들어갈 수 있습니다.

JOI 군은 열쇠를 원하는 만큼 여러 번 사용할 수 있습니다. 때때로 같은 종류의 열쇠를 여러 개 얻기도 합니다. 하지만 같은 종류의 열쇠를 하나만 가지고 있을 때와 비교해 보았을 때, 같은 종류의 열쇠를 여러 개 가지고 있다고 해서 특별한 이점이 있지는 않습니다.

저택에서 길을 잃는 상황에 대비하기 위해, JOI 군은 다음 쿼리에 답하는 프로그램을 작성하려고 계획하고 있습니다:

  • 만약 JOI 군이 열쇠를 하나도 가지지 않은 상태로 방 $x$에 들어왔다면, 방 $y$로 이동할 수 있는가?

당신의 과제는 JOI 군을 대신하여 위 쿼리에 답하는 프로그램을 작성하는 것입니다.

과제

저택에 대한 정보와 쿼리들이 주어졌을 때, 각 쿼리에 대해 현재 열쇠를 하나도 가지지 않은 상태로 저택의 어떤 방에 있다고 가정할 때 다른 방으로 이동할 수 있는지 여부를 판별하는 프로그램을 작성하십시오.

입력 형식

표준 입력에서 다음 데이터를 읽으십시오.

  • 입력의 첫 번째 줄에는 저택에 있는 방의 개수를 나타내는 정수 $N$이 주어집니다.
  • 입력의 두 번째 줄에는 공백으로 구분된 $N-1$개의 정수 $C_1,C_2,\ldots,C_{N-1}$이 주어집니다. 이는 방 $i$와 방 $i+1$을 연결하는 복도로 들어가기 위해 종류 $C_i$인 열쇠가 필요함을 의미합니다.
  • 이어지는 $N$개의 줄 중 $i$번째 줄($1 \le i \le N$)에는 양의 정수 $B_i$와 공백으로 구분된 $B_i$개의 정수 $A_{i,1},A_{i,2},\ldots,A_{i,B_i}$가 주어집니다. 이는 방 $i$에 $B_i$개의 열쇠가 있으며, 그 종류들이 $A_{i,j}$ ($1 \le j \le B_i$)임을 의미합니다.
  • 다음 줄에는 쿼리의 개수를 나타내는 정수 $Q$가 주어집니다.
  • 이어지는 $Q$개의 줄 중 $k$번째 줄($1 \le k \le Q$)에는 공백으로 구분된 두 정수 $X_k,Y_k$가 주어집니다. 이는 $k$번째 쿼리가 현재 열쇠를 하나도 가지지 않은 상태로 방 $X_k$에 있다고 가정할 때 방 $X_k$에서 방 $Y_k$로 이동할 수 있는지 여부를 묻고 있음을 의미합니다.

출력 형식

표준 출력으로 $Q$개의 줄을 출력하십시오. $Q$개의 줄 중 $k$번째 줄($1 \le k \le Q$)에는 현재 열쇠를 하나도 가지지 않은 상태로 방 $X_k$에 있다고 가정할 때 방 $X_k$에서 방 $Y_k$로 이동할 수 있다면 YES를, 그렇지 않다면 NO를 출력합니다.

제한

모든 입력 데이터는 다음 조건을 만족합니다.

  • $2 \le N \le 500\,000$.
  • $1 \le Q \le 500\,000$.
  • $1 \le B_1+B_2+\cdots+B_N \le 500\,000$.
  • $1 \le B_i \le N$ ($1 \le i \le N$).
  • $1 \le C_i \le N$ ($1 \le i \le N-1$).
  • $1 \le A_{i,j} \le N$ ($1 \le i \le N$, $1 \le j \le B_i$).
  • $B_i$개의 정수 $A_{i,1},\ldots,A_{i,B_i}$는 서로 다릅니다 ($1 \le i \le N$).
  • $1 \le X_k \le N$ ($1 \le k \le Q$).
  • $1 \le Y_k \le N$ ($1 \le k \le Q$).
  • $X_k \ne Y_k$ ($1 \le k \le Q$).

서브태스크

이 과제에는 총 4개의 서브태스크가 있습니다. 각 서브태스크의 점수와 추가 제한 조건은 다음과 같습니다:

서브태스크 1 [5점]

  • $N \le 5\,000$.
  • $Q \le 5\,000$.
  • $B_1+B_2+\cdots+B_N \le 5\,000$.

서브태스크 2 [5점]

  • $N \le 5\,000$.
  • $B_1+B_2+\cdots+B_N \le 5\,000$.

서브태스크 3 [15점]

  • $N \le 100\,000$.
  • $C_i \le 20$ ($1 \le i \le N-1$).
  • $A_{i,j} \le 20$ ($1 \le i \le N$, $1 \le j \le B_i$).

서브태스크 4 [75점]

추가 제한 조건이 없습니다.

예제

입력 1

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

출력 1

YES
NO
NO
YES

노트

  • 첫 번째 쿼리에서 JOI 군이 방 $2,1,2,3,4$를 이 순서대로 방문하면 방 $4$에 도달할 수 있습니다.
  • 두 번째 쿼리에서는 방 $3,4$만 방문할 수 있습니다. 종류 $1,3$인 열쇠만 얻을 수 있으므로 방 $2$에는 도달할 수 없습니다.
  • 세 번째 쿼리에서는 방 $5$에서 방 $4$로 가는 데 필요한 종류 $4$인 열쇠를 얻을 수 없습니다. 따라서 방 $5$에 도달할 수 없습니다.
  • 네 번째 쿼리에서 방 $5,4,3$을 이 순서대로 방문하면 방 $3$에 도달할 수 있습니다.

입력 2

5
2 3 1 3
1 3
1 2
1 1
1 3
1 2
4
1 3
3 1
4 3
2 5

출력 2

NO
YES
NO
YES

입력 3

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

출력 3

YES
NO
YES

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.