AT_utpc2022_o Move to Rest

题目描述

有一棵以顶点 $1$ 为根、共 $N$ 个顶点的有根树。对于 $i$ ($2 \le i \le N$),顶点 $i$ 的父节点为 $P_i$。顶点 $1$ 上有 $10^{100}$ 把椅子,其他顶点上各有 $1$ 把椅子。每把椅子只能坐一人。 现在有 $M$ 个人依次前来树上休息。对于第 $i$ 个来的人($i=1,2,\ldots,M$),他将进行以下操作: - 访问顶点 $A_i$,然后沿着父亲指向根节点的路径前进,直到遇到某个有空椅子的顶点。在到达第一个有空椅子的顶点后坐下,结束行动。 设第 $i$ 个人经过的边数为 $d_i$,请计算 $d_1+d_2+\cdots+d_M$ 的值。

输入格式

输入以如下格式从标准输入给出。 > $N$ $P_2 \ldots P_N$ $M$ $A_1 \ldots A_M$

输出格式

输出一行,表示答案。

说明/提示

## 样例解释 1 第 $1$ 个人从顶点 $1$ 开始,直接坐在顶点 $1$ 的椅子上。第 $2, 3$ 个人分别坐在顶点 $2, 3$ 的椅子上。第 $4$ 个人访问顶点 $2$,由于椅子已被第二个人占用,只能继续向根节点移动,到达顶点 $1$ 后坐在椅子上,结束行动。 因此 $d_1 = d_2 = d_3 = 0, d_4 = 1$,所以输出为 $1$。 ## 数据范围 - 输入均为整数。 - $1 \le N, M \le 10^6$ - $1 \le P_i < i$ - $1 \le A_i \le N$ 由 ChatGPT 5 翻译