QOJ.ac

QOJ

时间限制: 3.0 s 内存限制: 512 MB 总分: 100 可 Hack ✓

#14683. Спіймати монстра

统计

Доісторичний монстр прибув на Землю за допомогою машини часу доктора Пітера. Вам потрібно допомогти доктору Пітеру спіймати його.

Монстр ховається в лісі з $n$ вершинами та $m$ ребрами. Тут лісом називається ациклічний неорієнтований граф, який може складатися з декількох дерев. Ви можете виконувати такі операції, щоб спіймати монстра:

  • Спочатку ви обираєте вершину $x$ ($1 \le x \le n$).
  • Потім, якщо монстр наразі перебуває у вершині $x$, його спіймано.
  • Інакше монстр залишається неспійманим, і після операції він може перейти в будь-яку вершину, суміжну з його поточною вершиною, окрім вершини $x$. Або ж він може вирішити не рухатися і залишитися в тій самій вершині.

Ми називаємо ліс гарним (nice) тоді й лише тоді, коли існує скінченна послідовність вершин $a$ така, що незалежно від початкового положення монстра та того, як він переміщується, виконання операцій шляхом вибору вершин у порядку послідовності $a$ гарантує, що монстра буде спіймано.

Тепер вам потрібно відповісти на $q$ запитань доктора Пітера. У кожному запитанні він дає вам відрізок $[l, r]$ ($1 \le l \le r \le n$). Вам потрібно сказати йому, чи є підліс, породжений вершинами з номерами в $[l, r]$ (тобто граф, утворений збереженням лише цих вершин і ребер між ними), гарним.

Вхідні дані

Перший рядок вхідних даних містить три цілі числа $n$, $m$ та $q$ ($2 \le n \le 10^6$, $1 \le m \le n - 1$, $1 \le q \le 10^6$), де $n$ — кількість вершин у лісі, $m$ — кількість ребер у лісі, а $q$ — кількість запитів.

Наступні $m$ рядків вхідних даних містять по два цілі числа $u$ та $v$ ($1 \le u, v \le n$, $u \ne v$), що представляють ребро в лісі.

Наступні $q$ рядків вхідних даних містять по два цілі числа $l$ та $r$ ($1 \le l \le r \le n$), що представляють запит.

Вихідні дані

Для кожного запиту виведіть один рядок «Yes», якщо підліс є гарним; інакше виведіть один рядок «No».

Ви можете виводити відповідь у будь-якому регістрі (верхньому чи нижньому). Наприклад, рядки «yEs», «yes», «Yes» та «YES» будуть розпізнані як схвальні відповіді.

Приклади

Вхідні дані 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

Вихідні дані 1

Yes
Yes
No

Вхідні дані 2

100000 1 1
1 2
1 9999

Вихідні дані 2

Yes

Примітка

У першому прикладі:

  • У першому запиті для підлісу $[1, 3]$ можна покласти $a = [3, 1, 2]$.
  • У другому запиті для підлісу $[2, 6]$ можна покласти $a = [3, 4, 5, 2, 6]$.
  • У третьому запиті для підлісу $[1, 10]$ можна довести, що скінченної коректної послідовності $a$ не існує.

У другому прикладі:

  • В єдиному запиті для підлісу $[1, 9999]$ можна покласти $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.