QOJ.ac

QOJ

时间限制: 3 s 内存限制: 256 MB 总分: 100

#367. Lunga villa

统计

Vicino alla casa di JOI-kun c'è un'ampia villa. La villa ha $N$ stanze disposte in fila da est a ovest. La $i$-esima stanza a partire dalla stanza più a est è chiamata stanza $i$. Per ogni $i$ con $1 \le i \le N-1$, la stanza $i$ e la stanza $i+1$ sono collegate da un corridoio. Possiamo percorrere i corridoi in entrambe le direzioni. Per entrare in un corridoio da una stanza è necessaria una chiave. Ogni chiave ha un numero chiamato tipo. Più chiavi possono avere lo stesso tipo.

Dalla stanza $i$ o dalla stanza $i+1$, abbiamo bisogno di una chiave di tipo $C_i$ per entrare nel corridoio tra di esse.

Ci sono $B_i$ chiavi nella stanza $i$. I loro tipi sono $A_{i,j}$ ($1 \le j \le B_i$). Se JOI-kun entra in una stanza, raccoglie tutte le chiavi presenti in quella stanza. Dopodiché, può usarle per entrare nei corridoi.

JOI-kun può usare le chiavi tutte le volte che vuole. A volte ottiene più chiavi dello stesso tipo. Tuttavia, non ha alcun vantaggio speciale nell'avere più chiavi dello stesso tipo rispetto al caso in cui abbia una sola chiave di quel tipo.

Per affrontare la situazione in cui si perde nella villa, JOI-kun ha intenzione di scrivere un programma che risponda alle seguenti query:

  • Se JOI-kun entra nella stanza $x$ senza alcuna chiave, può spostarsi nella stanza $y$?

Il tuo compito è scrivere un programma che risponda alle query di cui sopra, al posto di JOI-kun.

Compito

Date le informazioni sulla villa e le query, scrivi un programma che determini, per ciascuna query, se egli può spostarsi da una stanza a un'altra assumendo che si trovi ora nella villa senza alcuna chiave.

Formato di input

Leggi i seguenti dati dallo standard input.

  • La prima riga di input contiene un intero $N$, il numero di stanze nella villa.
  • La seconda riga di input contiene $N-1$ interi separati da spazi $C_1,C_2,\ldots,C_{N-1}$. Ciò significa che abbiamo bisogno di una chiave di tipo $C_i$ per entrare nel corridoio che collega la stanza $i$ e la stanza $i+1$.
  • La $i$-esima riga ($1 \le i \le N$) delle seguenti $N$ righe contiene un intero positivo $B_i$ e $B_i$ interi separati da spazi $A_{i,1},A_{i,2},\ldots,A_{i,B_i}$. Ciò significa che ci sono $B_i$ chiavi nella stanza $i$, e i loro tipi sono $A_{i,j}$ ($1 \le j \le B_i$).
  • La riga seguente contiene un intero $Q$, il numero di query.
  • La $k$-esima riga ($1 \le k \le Q$) delle seguenti $Q$ righe contiene due interi separati da spazi $X_k,Y_k$. Ciò significa che la $k$-esima query chiede se JOI-kun può spostarsi dalla stanza $X_k$ alla stanza $Y_k$ assumendo che si trovi ora nella stanza $X_k$ senza alcuna chiave.

Formato di output

Scrivi $Q$ righe sullo standard output. La $k$-esima riga ($1 \le k \le Q$) delle $Q$ righe contiene YES se può spostarsi dalla stanza $X_k$ alla stanza $Y_k$ assumendo che si trovi ora nella stanza $X_k$ senza alcuna chiave. Altrimenti, contiene NO.

Vincoli

Tutti i dati di input soddisfano le seguenti condizioni.

  • $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$).
  • I $B_i$ interi $A_{i,1},\ldots,A_{i,B_i}$ sono distinti tra loro ($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$).

Subtask

Questo problema ha 4 subtask in totale. Il punteggio e i vincoli aggiuntivi di ciascun subtask sono i seguenti:

Subtask 1 [5 punti]

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

Subtask 2 [5 punti]

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

Subtask 3 [15 punti]

  • $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$).

Subtask 4 [75 punti]

Non ci sono vincoli aggiuntivi.

Esempi

Input 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

Output 1

YES
NO
NO
YES

Note

  • Nella prima query, se JOI-kun visita le stanze $2,1,2,3,4$ in questo ordine, arriva alla stanza $4$.
  • Nella seconda query, può visitare solo le stanze $3,4$. Poiché può ottenere solo chiavi di tipo $1,3$, non può arrivare alla stanza $2$.
  • Nella terza query, non può ottenere una chiave di tipo $4$ che serve tra la stanza $5$ e la stanza $4$. Pertanto non può arrivare alla stanza $5$.
  • Nella quarta query, se visita le stanze $5,4,3$ in questo ordine, arriva alla stanza $3$.

Input 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

Output 2

NO
YES
NO
YES

Input 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

Output 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.