QOJ.ac

QOJ

Süre Sınırı: 3.0 s Bellek Sınırı: 512 MB Toplam puan: 100 Hack'lenebilir ✓

#14683. Złapać potwora

İstatistikler

Prehistoryczny potwór przybył na Ziemię za pomocą wehikułu czasu doktora Petera. Musisz pomóc doktorowi Peterowi go złapać.

Potwór ukrywa się w lesie o $n$ wierzchołkach i $m$ krawędziach. Tutaj las oznacza acykliczny graf nieskierowany, który może składać się z wielu drzew. Aby złapać potwora, możesz wykonywać następujące operacje:

  • Najpierw wybierasz wierzchołek $x$ ($1 \le x \le n$).
  • Następnie, jeśli potwór znajduje się aktualnie w wierzchołku $x$, zostaje złapany.
  • W przeciwnym razie potwór pozostaje niezłapany i po wykonaniu operacji może przejść do dowolnego wierzchołka sąsiadującego z jego aktualnym wierzchołkiem, z wyjątkiem wierzchołka $x$. Może też zdecydować się nie ruszać i pozostać w tym samym wierzchołku.

Las nazywamy fajnym (nice) wtedy i tylko wtedy, gdy istnieje skończony ciąg wierzchołków $a$ taki, że niezależnie od początkowej pozycji potwora i sposobu, w jaki się porusza, wykonywanie operacji poprzez wybieranie wierzchołków w kolejności wyznaczonej przez $a$ gwarantuje złapanie potwora.

Teraz musisz odpowiedzieć na $q$ pytań doktora Petera. W każdym pytaniu podaje on przedział $[l, r]$ ($1 \le l \le r \le n$). Musisz mu powiedzieć, czy podlas indukowany przez wierzchołki o indeksach z przedziału $[l, r]$ (tj. graf powstały przez zachowanie wyłącznie tych wierzchołków oraz krawędzi między nimi) jest fajny.

Wejście

Pierwszy wiersz wejścia zawiera trzy liczby całkowite $n$, $m$ oraz $q$ ($2 \le n \le 10^6$, $1 \le m \le n - 1$, $1 \le q \le 10^6$), gdzie $n$ to liczba wierzchołków w lesie, $m$ to liczba krawędzi w lesie, a $q$ to liczba zapytań.

Kolejne $m$ wierszy wejścia zawiera po dwie liczby całkowite $u$ oraz $v$ ($1 \le u, v \le n$, $u \ne v$), reprezentujące krawędź w lesie.

Kolejne $q$ wierszy wejścia zawiera po dwie liczby całkowite $l$ oraz $r$ ($1 \le l \le r \le n$), reprezentujące zapytanie.

Wyjście

Dla każdego zapytania wypisz w jednym wierszu „Yes”, jeśli podlas jest fajny; w przeciwnym razie wypisz w jednym wierszu „No”.

Możesz wypisać odpowiedź dowolną wielkością liter. Na przykład napisy „yEs”, „yes”, „Yes” oraz „YES” zostaną uznane za odpowiedzi twierdzące.

Przykłady

Wejście 1

10 9 3
1 2
1 3
1 8
2 5
2 6
2 7
3 4
8 9
8 10
1 3
2 6
1 10

Wyjście 1

Yes
Yes
No

Wejście 2

100000 1 1
1 2
1 9999

Wyjście 2

Yes

Uwaga

W pierwszym przypadku testowym:

  • W pierwszym zapytaniu, dla podlasu $[1, 3]$, można przyjąć $a = [3, 1, 2]$.
  • W drugim zapytaniu, dla podlasu $[2, 6]$, można przyjąć $a = [3, 4, 5, 2, 6]$.
  • W trzecim zapytaniu, dla podlasu $[1, 10]$, można udowodnić, że nie istnieje skończony poprawny ciąg $a$.

W drugim przypadku testowym:

  • W jedynym zapytaniu, dla podlasu $[1, 9999]$, można przyjąć $a = [1, 2, \dots, 9999]$.

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.