#ABC286G. 唯一游走

唯一游走

唯一游走

题目描述

给定一个具有 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 上是否存在一条游走(walk),使得对于所有 x∈Sx \in S,该游走恰好经过边 xx 一次。

该游走可以任意次(可能为 00 次)经过不在 SS 中的边。

什么是游走?

无向图 GG 上的游走是由 kk 个顶点(kk 是正整数)和 (k−1)(k-1) 条边交替出现的序列 v1,e1,v2,…,vk−1,ek−1,vkv_1,e_1,v_2,\ldots,v_{k-1},e_{k-1},v_k,满足边 eie_i 连接顶点 viv_i 和顶点 vi+1v_{i+1}。序列中可以多次出现同一条边或同一个顶点。

一条游走恰好经过边 xx 一次,当且仅当恰好存在一个 1≤i≤k−11 \le i \le k-1 使得 ei=xe_i=x。

输入格式

输入按以下格式从标准输入给出:

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

游走 $(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)$ 满足条件,其中 viv_i 表示顶点 ii,eie_i 表示边 ii。

换句话说,该游走按以下顺序经过 GG 上的顶点:1→3→4→5→6→4→3→21\to 3\to 4\to 5\to 6\to 4\to 3\to 2。

这条游走恰好经过边 11、22、44、55 各一次,因此满足条件。

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

不存在恰好经过边 11、22、33 各一次的游走,因此应输出 No。

数据范围

  • 2≤N≤2×1052 \le N \le 2\times 10^5
  • N−1≤M≤min⁡(N(N−1)2,2×105)N-1 \le M \le \min(\frac{N(N-1)}{2},2\times 10^5)
  • 1≤Ui<Vi≤N1 \le U_i \lt V_i \le N
  • 若 i≠ji\neq j,则 (Ui,Vi)≠(Uj,Vj)(U_i,V_i)\neq (U_j,V_j)。
  • GG 是连通的。
  • 1≤K≤M1 \le K \le M
  • 1≤x1<x2<⋯<xK≤M1 \le x_1 \lt x_2 \lt \cdots \lt x_K \le M
  • 输入中的所有值均为整数。
难度 省选/NOI-
通过率 —
尝试 0
通过 0
ID
2598
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签