#17. 没有上司的舞会

没有上司的舞会

题目描述

一家公司里有 nn 个员工,他们的编号分别是 11nn,其中 11 号员工是公司 CEO,CEO 在公司里没有上司。除了 CEO 外,每个人都有一个直接上司。今天公司要办一个舞会,为了大家玩得尽兴,如果某个员工的直接上司来了,他/她就不想来了。ii 号员工来参加舞会会为大家带来 aia_i 点快乐值。现在我们想要确定一组员工参加舞会的方案,使得快乐值总和最大。请求出快乐值总和最大是多少。

(术语说明:这是一个树形动态规划问题,也称为“树上最大权独立集”问题,即选择树中的一些节点,使得任意两个被选中的节点没有直接的父子关系,且总权值最大。)

输入格式

第一行一个整数 nn

接下来一行 n1n-1 个整数 f2,f3,,fnf_2, f_3, \dots, f_n,其中 fif_i1fi<i1 \le f_i < i)表示 ii 号员工的上司的编号。

接下来一行 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n 表示每个员工参加舞会带来的快乐值。

输出格式

一行一个整数表示答案。

样例输入

5
1 2 3 1
1 8 10 8 2

样例输出

18

数据范围

对于所有数据,保证 2n1052 \le n \le 10^51ai1051 \le a_i \le 10^5