#P65. 树的支配集

树的支配集

题目背景

在图论问题中,支配是一个特定的术语,用于描述点与点之间的相邻关系。若 uu 和 vv 之间存在一条边,则称 uu 可以支配 vv。

若某些结点可以支配图中其他所有结点,则这些点构成了这张图的一个支配集。寻找支配集可以应用于很多场景,比如街道上的摄像机安装,手机网络的基站选址等等。

若图的结构比较复杂,则寻找最优的支配集是一件非常困难的事情,但在一些比较简单的结构上,例如在树上,是存在高效解法的。

题目描述

给定一棵拥有 nn 个结点的树,11 号点为这棵树的根,每个结点有一个权值,请找出这棵树的最优支配集。

所谓支配集,是一个由树上结点构成的子集,树上不属于这个子集的结点,都能找到至少一个邻居属于这个子集。

一个支配集的总权值,就是所有属于这个支配集的结点的权值之和。所谓最优支配集,就是具有最小总权值的支配集。

输入格式

第一行:单个整数表示 nn; 第二行:n−1n-1 个整数表示 p2p_2 到 pnp_n,pip_i 表示 ii 号点父亲的编号,保证有 1≤pi<i1\leq p_i<i。 第三行:nn 个整数表示 w1w_1 到 wnw_n,wiw_i 表示 ii 号点的权值。

输出格式

单个整数,表示最优支配集的总权值大小。

5
1 1 2 2
90 50 30 30 30
80

样例解释 1

取2号点和3号点作为支配集

数据范围

  • 对于 30%30\% 的数据, n≤20n\leq 20;
  • 对于 60%60\% 的数据, n≤20000n\leq 20000;
  • 对于 100%100\% 的数据, 1≤n≤2000001\leq n\leq 200000,1≤wi≤100001\leq w_i\leq 10000。