#GESP1302. [GESP202512 六级T1] 路径覆盖

    ID: 5219 传统题 1000ms 256MiB 尝试: 2 已通过: 2 难度: 3 上传者: 标签>GESP真题2025六级图论普及/提高−分支结构顺序结构

[GESP202512 六级T1] 路径覆盖

题目背景

2025 年 12 月 GESP C++ 六级编程第 1 题

题目描述

给定一棵有 nn 个结点的有根树 TT,结点依次以 1,2,ldots,n1,2,ldots,n 编号,根结点编号为 11

初始时所有结点均为白色。你需要将若干个结点染为黑色,使得所有叶子到根的路径上至少有一个黑色结点。将结点 ii 染为黑色需要代价 cic_i,请最小化染色代价之和。

叶子是指没有子结点的结点。

输入格式

第一行输入一个正整数 nn,表示结点数量。

第二行输入 n1n-1 个正整数 f2,f3,ldots,fnf_2,f_3,ldots,f_n,其中 fif_i 表示结点 ii 的父结点,保证 fi<if_i<i

第三行输入 nn 个正整数 c1,c2,ldots,cnc_1,c_2,ldots,c_n

输出格式

输出一行一个整数,表示最小染色代价之和。

4
1 2 3
5 6 2 3
2

数据范围与提示

  • 对于 4040% 的测试点,2n162 \le n\le 16
  • 对于另外 2020% 的测试点,fi=i1f_i=i-1
  • 对于所有测试点,2n1052 \le n\le 10^51ci1091 \le c_i \le 10^9

若输入为:

7 1 1 2 2 3 3 64 16 15 4 3 2 1

输出为:

10