#6948. 树的支配集

树的支配集

题目背景

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

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

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

题目描述

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

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

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

输入格式

第一行:单个整数表示 nn; 第二行:n1n-1 个整数表示 p2p_2pnp_npip_i 表示 ii 号点父亲的编号,保证有 1pi<i1\leq p_i<i。 第三行:nn 个整数表示 w1w_1wnw_nwiw_i 表示 ii 号点的权值。

输出格式

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

5
1 1 2 2
90 50 30 30 30
80

样例解释 1

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

数据范围

  • 对于 30%30\% 的数据, n20n\leq 20
  • 对于 60%60\% 的数据, n20000n\leq 20000
  • 对于 100%100\% 的数据, 1n2000001\leq n\leq 2000001wi100001\leq w_i\leq 10000