D. 蚂蚁爬树

    传统题 1000ms 256MiB

蚂蚁爬树

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

附加文件

Description

一棵树有 n 个节点,编号为 1 ~ n。树的每条边长都是 1。

一只蚂蚁当前正在 s 节点。它得到了一个指令,指令是一个序列,由 m 个节点编号组成。

蚂蚁要按照以下规则在树上行走:从它所在节点出发,下一个要到达的节点是在指令序列里最靠前并且它还没到过的节点,并且走最短路。

问:当蚂蚁执行完指令后(即指令中所有的节点均已到过),它需要行走的路程最短是多少?

Input

第一行: 三个整数 n m s;

接下来 n-1 行,每行两个整数 u 和 v,表示 u 和 v 之间有一条边;

接下来一行是指令序列,包含 m 个整数。

Output

一个整数,表示蚂蚁完成指令需要行走的最短路程。

Sample Input

5 4 2 
1 2 
2 3 
3 4 
4 5 
4 3 1 5

Sample Output

9

Sample Hint

样例中的树是一条链 1-2-3-4-5

指令序列为 4 3 1 5

开始蚂蚁在 2 号点。

指令序列里最靠前并且没到过的节点是 4 号点。所以蚂蚁从 2 号点出发,经过 3 号点,到达 4 号点,行程为 2;

指令序列里最靠前并且没到过的节点是 1 号点(3 号点虽然比 1 号点靠前,但是在刚才去往 4 号点的路途中已经到过)。所以蚂蚁从 4 号点出发,经过 3 号点和 2 号点,到达 1 号点,行程为 3;

指令序列里只有 5 号点还未到过,所以蚂蚁从 1 号点出发,依次经过 2、3、4 号点,到达 5 号点,行程为 4;

至此,指令完成,蚂蚁的行程为 2 + 3 + 4 = 9。

Data Size

约 15% 的数据:1 <= n <= 1000

100% 的数据:1 <= n <= 500000 , 1 <= s <= n, 1 <= m <= 400000

2025-12-19

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-12-19 8:30
结束于
2025-12-19 12:00
持续时间
3.5 小时
主持人
参赛人数
6