QOJ.ac

QOJ

Süre Sınırı: 3 s Bellek Sınırı: 256 MB Toplam puan: 100

#367. La mansión alargada

İstatistikler

Hay una gran mansión cerca de la casa de JOI-kun. La mansión tiene $N$ habitaciones dispuestas en una fila de este a oeste. La $i$-ésima habitación contando desde el extremo este se llama habitación $i$. Para cada $i$ con $1 \le i \le N-1$, las habitaciones $i$ e $i+1$ están conectadas por un pasillo. Los pasillos se pueden recorrer en ambos sentidos. Para entrar en un pasillo desde una habitación se necesita una llave. Cada llave tiene un número llamado tipo. Varias llaves pueden ser del mismo tipo.

Desde la habitación $i$ o la habitación $i+1$, se necesita una llave de tipo $C_i$ para entrar en el pasillo que las conecta.

En la habitación $i$ hay $B_i$ llaves, cuyos tipos son $A_{i,j}$ ($1 \le j \le B_i$). Si JOI-kun entra en una habitación, recoge todas las llaves que hay en ella. A partir de entonces puede utilizarlas para entrar en los pasillos.

JOI-kun puede utilizar las llaves tantas veces como quiera. A veces consigue varias llaves del mismo tipo, pero tener varias no le da ninguna ventaja respecto a tener una sola de ese tipo.

Para afrontar la posibilidad de perderse en la mansión, JOI-kun planea escribir un programa que responda a las siguientes consultas:

  • Si JOI-kun entra en la habitación $x$ sin ninguna llave, ¿puede llegar a la habitación $y$?

Tu tarea es escribir, en lugar de JOI-kun, un programa que responda a estas consultas.

Tarea

Dada la información de la mansión y las consultas, escribe un programa que determine, para cada consulta, si puede ir de una habitación a otra, suponiendo que está en la mansión sin ninguna llave.

Entrada

Lee los siguientes datos de la entrada estándar.

  • La primera línea contiene un entero $N$, el número de habitaciones de la mansión.
  • La segunda línea contiene $N-1$ enteros separados por espacios, $C_1,C_2,\ldots,C_{N-1}$. Esto significa que se necesita una llave de tipo $C_i$ para entrar en el pasillo que conecta las habitaciones $i$ e $i+1$.
  • La $i$-ésima línea ($1 \le i \le N$) de las siguientes $N$ líneas contiene un entero positivo $B_i$ y $B_i$ enteros separados por espacios, $A_{i,1},A_{i,2},\ldots,A_{i,B_i}$. Esto significa que hay $B_i$ llaves en la habitación $i$, y sus tipos son $A_{i,j}$ ($1 \le j \le B_i$).
  • La siguiente línea contiene un entero $Q$, el número de consultas.
  • La $k$-ésima línea ($1 \le k \le Q$) de las siguientes $Q$ líneas contiene dos enteros separados por un espacio, $X_k,Y_k$. La $k$-ésima consulta pregunta si JOI-kun puede ir de la habitación $X_k$ a la habitación $Y_k$, suponiendo que está en la habitación $X_k$ sin ninguna llave.

Salida

Escribe $Q$ líneas en la salida estándar. La $k$-ésima línea ($1 \le k \le Q$) debe contener YES si puede ir de la habitación $X_k$ a la habitación $Y_k$, suponiendo que está en la habitación $X_k$ sin ninguna llave. En caso contrario, debe contener NO.

Restricciones

Todos los datos de entrada satisfacen las siguientes condiciones.

  • $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$).
  • Los $B_i$ enteros $A_{i,1},\ldots,A_{i,B_i}$ son distintos entre sí ($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$).

Subtareas

Esta tarea tiene 4 subtareas en total. La puntuación y las restricciones adicionales de cada una son las siguientes:

Subtarea 1 [5 puntos]

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

Subtarea 2 [5 puntos]

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

Subtarea 3 [15 puntos]

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

Subtarea 4 [75 puntos]

No hay restricciones adicionales.

Ejemplos

Entrada 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

Salida 1

YES
NO
NO
YES

Nota

  • En la primera consulta, si JOI-kun visita las habitaciones $2,1,2,3,4$ en ese orden, llega a la habitación $4$.
  • En la segunda consulta, solo puede visitar las habitaciones $3,4$. Como solo puede conseguir llaves de los tipos $1,3$, no puede llegar a la habitación $2$.
  • En la tercera consulta, no puede conseguir una llave de tipo $4$ desde la habitación $5$ hasta la habitación $4$. Por tanto, no puede llegar a la habitación $5$.
  • En la cuarta consulta, si visita las habitaciones $5,4,3$ en ese orden, llega a la habitación $3$.

Entrada 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

Salida 2

NO
YES
NO
YES

Entrada 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

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