【模板】Prufer 序列
题号:NC233870
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

请实现 Prufer 序列和无根树的相互转化。

为方便你实现代码,尽管是无根树,我们在读入时仍将 n 设为其根。

对于一棵无根树,设 为其父亲序列f_i 表示 in 为根时的父亲),设 为其 Prufer 序列

另外,对于一个长度为 m 的序列 ,我们设其权值

输入描述:

第一行两个整数 ,表示树的点数和转化类型。

,第二行一行 n-1 个整数,表示父亲序列。
,第二行一行 n-2 个整数,表示 Prufer 序列。

输出描述:

,一行一个整数,表示给出的父亲序列对应的 Prufer 序列的权值。 
,一行一个整数,表示给出的 Prufer 序列对应的父亲序列的权值。
示例1

输入

复制
6 1
3 6 4 6 1

输出

复制
29
示例2

输入

复制
6 2
4 6 5 2

输出

复制
4

备注:

原题链接:https://www.luogu.com.cn/problem/P6086