QOJ.ac

QOJ

Límite de tiempo: 3 s Límite de memoria: 256 MB Puntuación total: 100

#367. Długa rezydencja

Estadísticas

W pobliżu domu JOI-kun znajduje się rozległa rezydencja. Ma ona $N$ pokoi ustawionych w rzędzie ze wschodu na zachód. Pokój znajdujący się na $i$-tej pozycji, licząc od najbardziej wysuniętego na wschód, nazywamy pokojem $i$. Dla każdego $i$ spełniającego $1 \le i \le N-1$ pokoje $i$ oraz $i+1$ są połączone korytarzem. Korytarzami można przechodzić w obu kierunkach. Aby wejść do korytarza z pokoju, potrzebny jest klucz. Każdy klucz ma numer nazywany typem. Wiele kluczy może mieć ten sam typ.

Aby wejść z pokoju $i$ lub pokoju $i+1$ do łączącego je korytarza, potrzebny jest klucz typu $C_i$.

W pokoju $i$ znajduje się $B_i$ kluczy. Ich typy to $A_{i,j}$ ($1 \le j \le B_i$). Gdy JOI-kun wejdzie do pokoju, zbierze wszystkie znajdujące się w nim klucze. Następnie może ich używać do wchodzenia do korytarzy.

JOI-kun może używać kluczy dowolną liczbę razy. Czasami zdobywa kilka kluczy tego samego typu. Jednak posiadanie kilku kluczy tego samego typu nie daje żadnej szczególnej przewagi w porównaniu z posiadaniem tylko jednego klucza tego typu.

Aby poradzić sobie z sytuacją, w której zgubi się w rezydencji, JOI-kun planuje napisać program odpowiadający na następujące zapytania:

  • Jeśli JOI-kun wejdzie do pokoju $x$ bez żadnych kluczy, czy może dotrzeć do pokoju $y$?

Twoim zadaniem jest napisanie zamiast JOI-kun programu odpowiadającego na powyższe zapytania.

Zadanie

Mając informacje o rezydencji i zapytaniach, napisz program, który dla każdego zapytania określa, czy może on przejść z jednego pokoju do drugiego, zakładając, że obecnie znajduje się w rezydencji bez żadnych kluczy.

Wejście

Wczytaj następujące dane ze standardowego wejścia.

  • Pierwszy wiersz zawiera liczbę całkowitą $N$ — liczbę pokoi w rezydencji.
  • Drugi wiersz zawiera $N-1$ liczb całkowitych $C_1,C_2,\ldots,C_{N-1}$, oddzielonych spacjami. Oznacza to, że do wejścia do korytarza łączącego pokoje $i$ oraz $i+1$ potrzebny jest klucz typu $C_i$.
  • $i$-ty wiersz ($1 \le i \le N$) spośród następnych $N$ wierszy zawiera dodatnią liczbę całkowitą $B_i$ oraz $B_i$ liczb całkowitych $A_{i,1},A_{i,2},\ldots,A_{i,B_i}$, oddzielonych spacjami. Oznacza to, że w pokoju $i$ znajduje się $B_i$ kluczy, których typy to $A_{i,j}$ ($1 \le j \le B_i$).
  • Następny wiersz zawiera liczbę całkowitą $Q$ — liczbę zapytań.
  • $k$-ty wiersz ($1 \le k \le Q$) spośród następnych $Q$ wierszy zawiera dwie liczby całkowite $X_k,Y_k$, oddzielone spacją. Oznacza to, że $k$-te zapytanie dotyczy tego, czy JOI-kun może przejść z pokoju $X_k$ do pokoju $Y_k$, zakładając, że obecnie znajduje się w pokoju $X_k$ bez żadnych kluczy.

Wyjście

Wypisz $Q$ wierszy na standardowe wyjście. $k$-ty wiersz ($1 \le k \le Q$) powinien zawierać YES, jeśli może on przejść z pokoju $X_k$ do pokoju $Y_k$, zakładając, że obecnie znajduje się w pokoju $X_k$ bez żadnych kluczy. W przeciwnym razie powinien zawierać NO.

Ograniczenia

Wszystkie dane wejściowe spełniają następujące warunki.

  • $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$ liczb całkowitych $A_{i,1},\ldots,A_{i,B_i}$ jest parami różnych ($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$).

Podzadania

Zadanie ma łącznie 4 podzadania. Punktacja i dodatkowe ograniczenia każdego z nich są następujące:

Podzadanie 1 [5 punktów]

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

Podzadanie 2 [5 punktów]

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

Podzadanie 3 [15 punktów]

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

Podzadanie 4 [75 punktów]

Nie ma dodatkowych ograniczeń.

Przykład

Wejście 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

Wyjście 1

YES
NO
NO
YES

Uwagi

  • W pierwszym zapytaniu, jeśli JOI-kun odwiedzi pokoje $2,1,2,3,4$ w tej kolejności, dotrze do pokoju $4$.
  • W drugim zapytaniu może odwiedzić tylko pokoje $3,4$. Ponieważ może zdobyć wyłącznie klucze typów $1,3$, nie może dotrzeć do pokoju $2$.
  • W trzecim zapytaniu nie może zdobyć klucza typu $4$ z pokoju $5$ do pokoju $4$. Dlatego nie może dotrzeć do pokoju $5$.
  • W czwartym zapytaniu, jeśli odwiedzi pokoje $5,4,3$ w tej kolejności, dotrze do pokoju $3$.

Wejście 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

Wyjście 2

NO
YES
NO
YES

Wejście 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

Wyjście 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.