编程题
### 问题描述 小齐和她的朋友们在新年庆祝活动中制作了一颗巨大的树,上面挂满了许多发光的装饰物。小齐可以通过遥控器控制装饰物的开关。在太阳升起之前,她希望按照某种顺序切换一些装饰物的状态(可以多次切换一个装饰物),使得树的起始状态和结束状态均没有装饰物是点亮的。小齐认为,如果点亮的装饰物集合恰好是以某个顶点为根的子树,那么这颗树看起来很酷。她希望切换装饰物的顺序满足以下两个条件: 定义以顶点 $r$ 为根的子树包含所有顶点 $v$,其中 $r$ 位于从顶点 $1$ 到 $v$ 的路径上。对于树的每一个 $N$ 个子树,存在一个时刻,此时点亮的顶点集合正好是该子树中的顶点集合。 整个操作序列执行完后,每个顶点都处于非点亮状态。 在打开和关闭装饰物时需要消耗能量,小齐不想浪费能量,因此她想找到可以执行的切换序列的最小长度。 ### 输入格式 第一行包含整数 $N$。 第二行包含 $N-1$ 个整数 $p_2, p_3, \ldots, p_N$,其中 $p_i$ 表示顶点 $i$ 的父节点。 ### 输出格式 输出最小可能长度。 ### 样例输入 ``` 3 1 1 ``` ### 样例输出 ``` 6 ``` ### 评测数据规模 $1 \leq N \leq 5000$。
查看答案
赣ICP备20007335号-2