题目背景
跟随着线索,莲子来到了七夕坂。无暇欣赏此处的风景,高速运转着大脑的莲子,不断寻找异界的线索。翻转的地藏、奇异的裂缝、被隐匿的第五个季节……这个禁忌之中的世界,正向她揭晓着自己的秘密。
但莲子第一时间看到的只有梅莉,来不及思考,她一把抓住了梅莉的手——
题目描述
嗅觉敏锐的莲子察觉到,进入异界的方法一定和这些特别的地藏有所联系。她发现它们恰好构成了一棵形状特殊的树。
给定一棵 n 个点的带点权的有根树,其根为 1,且点 i 的点权为 wi。其满足对于任意两个深度相同的结点,它们的儿子数也相同。
为了进入异界,莲子进行了一些操作来改变这棵树的点权:
- 选择一条边,假设它连接了两点 (u,v),设其中深度更高者为 u(即 u 是 v 的儿子),将 wu 加上 wv。
- 上述操作可以被执行任意多次,但是不能重复选择同一条边。
经过操作后,莲子求出了树的某个 DFS 序列,并记录下了这个 DFS 序列所对应的点权序列 c(具体来说,ci 为 DFS 序过程中遍历到的第 i 个点的点权)。
不幸的是,她突然忘记了她进行过哪些操作,也忘记了如何 DFS 这棵树,她希望你能还原出任意一组合法的操作方案与 DFS 序列。
输入格式
第一行一个整数 n。
对于接下来 n 行:第 i 行两个整数 fi,wi,其中 fi 代表点 i 的父节点(特别的,f1=0,对于其余节点有 1≤fi<i),wi 代表点 i 的权值。
接下来一行 n 个整数描述序列 c,代表莲子的 DFS 序列所对应的点权序列 c。保证一定存在一种合法的操作方式和操作后的 DFS 方式得到序列 c。
输出格式
第一行一个整数 m,表示你进行的操作数。
接下来一行 m 个数,第 i 个数 xi 代表你在第 i 次操作选择连接节点 xi 和其父节点 fxi 的边进行操作。
接下来一行 n 个数描述一个排列 p,其中 pi 代表你构造的 DFS 序列中遍历到的第 i 个节点为点 pi。
提示
样例解释
样例 #1

其中一种可行的方案是依次操作边 (2,3),(3,4),(1,2),操作后的树的点权序列为 {1,3,5,9},选出的 DFS 序列为 {1,2,3,4}。
注意到该样例符合特殊性质 A。
样例 #2

其中一种可行的方案是依次操作边 (1,2),(3,5),(1,3),操作后的树的点权序列为 {1,0,0,3,3},选出的 DFS 序列为 {1,2,4,3,5}。
样例 #3

其中一种可行的方案是依次操作边 (1,2),操作后的树的点权序列为 {1,3,3,4},选出的 DFS 序列为 {1,4,2,3}。
注意到该样例符合特殊性质 B。
样例 #4

其中一种可行的方案是依次操作边 (1,2),(2,4),(3,5),(1,3),操作后的树的点权序列为 {1,2,3,2,2},选出的 DFS 序列为 {1,3,5,2,4}。
注意到该样例符合特殊性质 C。
数据范围
本题采用捆绑测试。
Subtask1234567分值10101015151525n≤61001002×1032×1031002×103特殊性质−ABCD−−Subtask 依赖−−−−−1,2,31,2,3,4,5,6特殊性质 A:保证给出的树满足 fi=i−1 (i=1)。
特殊性质 B:保证给出的树满足 fi=1 (i=1)。
特殊性质 C:保证给出的树满足 wi=1。
特殊性质 D:保证给出的树满足所有非叶节点儿子数不超过 2。
对于所有数据满足:1≤n≤2000,−108≤wi≤108,−1014≤ci≤1014。