题目描述
N 頂点 M 辺の無向グラフ G が与えられます。 i = 1, 2, …, M について、i 番目の辺は頂点 ui と頂点 vi を結ぶ無向辺です。
N 頂点のグラフは、すべての i = 1, 2, …, K について下記の条件が成り立つとき、良いグラフと呼ばれます。
- G 上で頂点 xi と頂点 yi を結ぶパスが存在しない。
与えられるグラフ G は良いグラフです。
Q 個の独立な質問が与えられるので、それらすべてに答えてください。 i = 1, 2, …, Q について、i 番目の質問は
- 入力で与えられたグラフ G に頂点 pi と頂点 qi を結ぶ無向辺を 1 本追加して得られるグラフ G(i) は良いグラフですか?
という質問です。
输入格式
入力は以下の形式で標準入力から与えられる。
N M u1 v1 u2 v2 ⋮ uM vM K x1 y1 x2 y2 ⋮ xK yK Q p1 q1 p2 q2 ⋮ pQ qQ
输出格式
Q 行出力せよ。 i = 1, 2, …, Q について、i 行目には i 番目の質問に対する答えを出力せよ。 具体的には、グラフ G(i) が良いグラフである場合は Yes
を、良いグラフでない場合は No
を出力せよ。
题目大意
题目描述
给定无向图 G,其包含 N 个顶点和 M 条边。对于 i=1,2,…,M,第 i 条边连接着结点 ui 与结点 vi。
如果图 G 满足以下条件:
- 对于所有 i=1,2,…,K,结点 xi 与结点 yi 之间均没有路径连接。
则称图 G 是一张好图。
给定 Q 个独立的询问,请你逐个回答。对于 i=1,2,…,Q,第 i 次询问内容如下:
- 在图 G 上添加一条连接着结点 pi 与结点 qi 的无向边,由此得到的新图 G(i) 是否是一张好图?
样例解释
- 对于第一次询问,图 G(1) 不是一张好图,因为该图存在连接着结点 x1=1 与结点 y1=5 的路径 1→2→5。因此,输出
No
。
- 对于第二次询问,图 G(2) 不是一张好图,因为该图存在连接着结点 x2=2 与结点 y2=6 的路径 2→6。因此,输出
No
。
- 对于第三次询问,图 G(3) 是一张好图。因此,输出
Yes
。
- 对于第四次询问,图 G(4) 是一张好图。因此,输出
Yes
。
正如样例所示,给定的图 G 可能存在自环与重边。
6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4
No
No
Yes
Yes
提示
制約
- 2 ≤ N ≤ 2 × 105
- 0 ≤ M ≤ 2 × 105
- 1 ≤ ui, vi ≤ N
- 1 ≤ K ≤ 2 × 105
- 1 ≤ xi, yi ≤ N
- xi = yi
- $ i\ \neq\ j\ \implies\ \lbrace\ x_i,\ y_i\ \rbrace\ \neq\ \lbrace\ x_j,\ y_j\ \rbrace $
- すべての i = 1, 2, …, K について次が成り立つ:頂点 xi と頂点 yi を結ぶパスは存在しない。
- 1 ≤ Q ≤ 2 × 105
- 1 ≤ pi, qi ≤ N
- pi = qi
- 入力はすべて整数
Sample Explanation 1
- 1 番目の質問に関して、グラフ G(1) は良いグラフではありません。なぜなら、頂点 x1 = 1 と頂点 y1 = 5 を結ぶパス 1 → 2 → 5 を持つからです。よって、No
と出力します。 - 2 番目の質問に関して、グラフ G(2) は良いグラフではありません。なぜなら、頂点 x2 = 2 と頂点 y2 = 6 を結ぶパス 2 → 6 を持つからです。よって、No
と出力します。 - 3 番目の質問に関して、グラフ G(3) は良いグラフです。よって、Yes
と出力します。 - 4 番目の質問に関して、グラフ G(4) は良いグラフです。よって、Yes
と出力します。 この入力例のように、与えられるグラフ G が自己ループや多重辺を持つ場合があることに注意してください。