题库首页 › GESP等级认证(Python) › 题目 20722

路径覆盖 时间限制:3.0 s 内存限制:512.0 MB 题目描述 给定一棵有 n 个结点的有根树 T ,结点依次以 1 , 2, . , n 编号 ,根结点编号为 1 。方便起见 ,编号为 i 的结点称为结点 i。 初始时 T 中的结点均为白色。你需要将 T 中的若干个结点染为黑色,使得所有叶子到根的路径上至少有一个黑色结 点。将结点 i 染为黑色需要代价 c,你需要在满足以上条件的情况下,最小化染色代价之和。 叶子是指 T 中没有子结点的结点。 输入格式 第一行,一个正整数 n,表示结点数量。 输出格式 一行,一个整数,表示在满足所有叶子到根的路径上至少有一个黑色结点的前提下,染色代价之和的最小值。 输入样例 1 4 1 2 3 5 6 2 3 输出样例 1 2 输入样例 2 7 1 1 2 2 3 3 64 16 15 4 3 2 1 输出样例 2 10 数据范围

路径覆盖 时间限制:3.0 s 内存限制:512.0 MB  题目配图路径覆盖 时间限制:3.0 s 内存限制:512.0 MB  题目配图

正确答案:树形DP:dp[u]=min(c[u],sum(dp[child]))。花c[u]染黑u即覆盖其子树所有到根路径;否则u不染、各孩子子树独立覆盖。叶子dp=c[leaf],根dp[1]即答案。

试卷来源:202512 CCF-GESP编程能力等级认证Python六级真题

本卷相关题目

在线做题 同科目题库