路径与子序列
时间限制:2s
空间限制:1024MB
题目描述
有一个含 N 个顶点、M 条边的连通无向图 G,顶点编号为 1 到 N,第 i 条边连接顶点 Ui 和 Vi。另给定长度为 N 的整数序列 A=(A1,A2,…,AN) 与长度为 K 的整数序列 B=(B1,B2,…,BK)。
判断下列条件是否成立:对于图中从顶点 1 到顶点 N 的任意一条简单路径 v=(v1,v2,…,vt),其中 v1=1,vt=N,序列 B 都是 (Av1,Av2,…,Avt) 的子序列。子序列中的元素不要求连续。
输入格式
第一行三个整数 N,M,K。
接下来 M 行,第 i 行两个整数 Ui,Vi,表示一条无向边。
下一行 N 个整数 A1,A2,…,AN。
最后一行 K 个整数 B1,B2,…,BK。
输出格式
若条件成立,输出 Yes;否则输出 No。
样例输入 1
6 6 3
1 2
1 3
2 4
3 5
4 6
5 6
1 2 4 5 2 6
1 2 6
样例输出 1
Yes
样例输入 2
5 5 3
1 2
2 3
3 4
4 5
2 5
1 2 3 5 2
1 3 2
样例输出 2
No
样例输入 3
10 20 3
5 6
5 10
5 7
3 5
3 7
2 6
3 8
4 5
5 8
7 10
1 6
1 9
4 6
1 2
1 4
6 7
4 8
2 5
3 10
6 9
2 5 8 5 1 5 1 1 5 10
2 5 1
样例输出 3
Yes
数据范围
- 2≤N≤105;
- 1≤K≤N;
- N−1≤M≤2×105;
- 1≤Ui<Vi≤N,且没有重边;
- 1≤Ai,Bi≤N;
- 图 G 连通。
| 子任务编号 |
分值 |
特殊限制 |
| 1 |
10 |
N≤10 |
| 2 |
15 |
G 是一棵树 |
| 3 |
K=1 |
| 4 |
30 |
N≤2000 且 M≤4000 |
| 5 |
无特殊限制 |