3638. 染色游戏

单点时限: 3.0 sec

内存限制: 512 MB

oxx 是一个大土豪,花 58 dollars 买了一个染色游戏:

oxx 通过一系列神乎其神的操作,把地图转换成了一棵树的结构,这棵树有 $n$ 个结点,且这这棵树根结点是 $1$。

游戏开始前,已经有 $m$ 条道路被染色了。具体地,会告诉你两个结点 $x$ 和 $y$,染色的路径是结点 $x$ 到 $y$ 的最短的路径。同一条路径可以被重复染色多次,按多次计算。

现在,oxx 想从一个结点向根结点进发。他希望找一条路,使得路的长度尽可能的长,且路是从该结点走向根结点最短路中的一段。当然,oxx 为了在游戏中获得更多的分数,他希望选择的这条路至少给 $k$ 条染色的路径完全覆盖。

换句话说:要选出一条最长的路径 $(p,q)$,满足 $p$ 为 $q$ 的祖先,且 $(p,q)$ 被至少 $k$ 条染色路径完全覆盖。

输入格式

第一行两个整数 $n,m$ ($2\leq n\leq 2\cdot 10^5$, $1 \leq m \leq 2\cdot 10^5$),分别表示结点数量、被染色的路径数量。

第二行包含 $n-1$ 个整数 $f_2,f_3,\ldots,f_n$ ($1 \leq f_i \leq i-1$),分别表示结点 $2,3,\ldots,n$ 的父结点编号。

接下来的 $m$ 行,每行包含两个整数 $x$ 和 $y$ ($1\le x,y\le n, x\neq y$),表示被染色路径的两个结点编号。

最后一行一个整数 $k$ ($0\leq k\leq m$),表示需要的路径数量。

输出格式

一个整数,表示最长的路径长度。

样例

Input
4 3
1 2 3
1 2
3 4
4 1
1
Output
3
Input
4 3
1 2 3
1 2
3 4
4 1
3
Output
0
Input
5 3
1 2 3 4
1 3
3 5
1 5
2
Output
2

提示

样例 1 解释:

只需要被一条染色的路径完全覆盖,$(1,4)$ 恰好被第一条染色路径 $(1,4)$ 覆盖,所以最长的长度为3。

样例 2 解释:

无法做到被所有路径覆盖。

11 人解决,16 人已尝试。

12 份提交通过,共有 40 份提交。

6.0 EMB 奖励。

创建: 1 年,10 月前.

修改: 1 年,9 月前.

最后提交: 1 年,3 月前.

来源: EOJ Monthly 2018.9

题目标签