#P14449. [ICPC 2025 Xi'an R] Catch the Monster

[ICPC 2025 Xi'an R] Catch the Monster

Description

一只史前怪兽通过 Peter 博士的时光机来到了地球。你需要帮助 Peter 博士抓住它。

怪兽藏在一片由 nn 个顶点和 mm 条边组成的森林中。这里的森林指的是一个无环无向图,它可能由多棵树组成。为了抓住怪兽,你可以执行以下操作:

  • 首先,选择一个顶点 xx1xn1 \leq x \leq n)。
  • 然后,如果怪兽此时位于顶点 xx,它就被抓住;
  • 否则,怪兽仍未被抓住,并且在这次操作结束后,它可以选择移动到当前顶点相邻的任意顶点,但不能移动到顶点 xx;或者它也可以选择不移动,停留在原地。

我们称一片森林是 良好的,当且仅当存在一个有限的顶点序列 aa,无论怪兽最初位于哪个顶点、以及它之后如何移动,只要依照 aa 中顶点的顺序依次执行上述操作,就能保证怪兽最终一定被抓住。

现在,你需要回答来自 Peter 博士的 qq 个问题。在每个问题中,他会给出一个区间 [l,r][l, r]1lrn1 \leq l \leq r \leq n)。你需要告诉他:由编号在区间 [l,r][l, r] 内的顶点所诱导出的子森林(即仅保留这些顶点及其之间的边所构成的图)是否是 良好的

Input Format

输入的第一行包含三个整数 n,m,qn, m, q2n1062 \leq n \leq 10^61mn11 \leq m \leq n-11q1061 \leq q \leq 10^6),分别表示森林中的顶点数、边数和查询次数。

接下来的 mm 行中,每行包含两个整数 uuvv1u,vn1 \leq u, v \leq n,且 uvu \neq v),表示森林中的一条边。

接下来的 qq 行中,每行包含两个整数 llrr1lrn1 \leq l \leq r \leq n),表示一个查询区间。

Output Format

对于每个查询,输出一行结果:

  • 如果该子森林是 良好的,输出 Yes
  • 否则输出 No

输出时不区分大小写。例如,字符串 yEsyesYesYES 都会被视为正确的回答。

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
Yes
Yes
No
100000 1 1
1 2
1 9999
Yes

Hint

在第一个测试用例中:

  • 对于第一个查询,子森林 [1,3][1,3],你可以选择序列 a=[3,1,2]a = [3, 1, 2]
  • 对于第二个查询,子森林 [2,6][2,6],你可以选择序列 a=[3,4,5,2,6]a = [3, 4, 5, 2, 6]
  • 对于第三个查询,子森林 [1,10][1,10],可以证明不存在一个有限的有效序列 aa

在第二个测试用例中:

  • 对于唯一的查询,子森林 [1,9999][1,9999],你可以选择序列 a=[1,2,,9999]a = [1, 2, \ldots, 9999]

翻译由 ChatGPT-5 完成