atcoder#ABC286G. [ABC286G] Unique Walk

[ABC286G] Unique Walk

配点 : 600600

問題文

NN 頂点 MM 辺の単純連結無向グラフ GG が与えられます。 GG の頂点は頂点 11 , 頂点 22, \ldots,頂点 NN、辺は辺 11 , 辺 22, \ldots,辺 MM と番号づけられており、 辺 ii は、頂点 UiU_i と頂点 ViV_i を結んでいます。 また、辺の部分集合 S={x1,x2,,xK}S=\{x_1,x_2,\ldots,x_K\} が与えられます。

GG 上の歩道であって、任意の xSx\in S について、辺 xx をちょうど 11 回ずつ通るようなものが存在するか判定してください。 SS に含まれていない辺は何回(00 回でも良い)通っていてもかまいません。

歩道とは 無向グラフ G 上の歩道とは、k 個 (k は正整数) の頂点と k-1 個の辺を交互に並べた列 v_1,e_1,v_2,\ldots,v_{k-1},e_{k-1},v_k であって、 辺 e_i が頂点 v_i と頂点 v_{i+1} を結んでいるようなものを指す。列の中に同じ頂点や同じ辺が何回登場しても良い。 歩道が辺 x をちょうど 1 回通るとは、e_i=x となるような 1\leq i\leq k-1 がただ 1 つ存在することをいう。

制約

  • 2N2×1052 \leq N \leq 2\times 10^5
  • $N-1 \leq M \leq \min(\frac{N(N-1)}{2},2\times 10^5)$
  • $1 \leq U_i
  • iji\neq j ならば (Ui,Vi)(Uj,Vj)(U_i,V_i)\neq (U_j,V_j)
  • GG は連結
  • 1KM1 \leq K \leq M
  • $1 \leq x_1
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM

U1U_1 V1V_1

U2U_2 V2V_2

\vdots

UMU_M VMV_M

KK

x1x_1 x2x_2 \ldots xKx_K

出力

問題文の条件をみたす歩道が存在するならば Yes を、存在しないならば No を出力せよ。

6 6
1 3
2 3
3 4
4 5
4 6
5 6
4
1 2 4 5
Yes

頂点 iiviv_i, 辺 jjeje_j と表すことにすると、 $(v_1,e_1,v_3,e_3,v_4,e_4,v_5,e_6,v_6,e_5,v_4,e_3,v_3,e_2,v_2)$ で表される歩道が条件をみたします。 すなわち、GG 上を頂点134564321\to 3\to 4\to 5\to 6\to 4\to 3\to 2 の順に移動するような歩道です。 この歩道は、辺 1,2,4,51,2,4,5 をいずれもちょうど 11 回ずつ通っているため条件をみたします。

6 5
1 2
1 3
1 4
1 5
1 6
3
1 2 3
No

1,2,31,2,3 をちょうど 11 回ずつ通るような歩道は存在しないため、No を出力します。