题目名称 3429. [POJ 2054]树染色
输入输出 colortree.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2020-06-30加入
开放分组 全部用户
提交状态
分类标签
贪心
分享题解
通过:3, 提交:12, 通过率:25%
GravatarTheresis 100 0.000 s 0.00 MiB C++
Gravataryrtiop 100 0.001 s 0.96 MiB C++
Gravatarfw 100 0.005 s 1.65 MiB C++
Gravatarfw 0 0.002 s 3.29 MiB C++
Gravatarfw 0 0.003 s 0.33 MiB C++
Gravatarfw 0 0.008 s 17.56 MiB C++
Gravatarfw 0 0.016 s 17.56 MiB C++
Gravatarcb 0 0.435 s 21.32 MiB C++
Gravataryrtiop 0 1.816 s 5.81 MiB C++
Gravataryrtiop 0 2.636 s 5.88 MiB C++
本题关联比赛
EYOI常规赛 1st
EYOI常规赛 1st
关于 树染色 的近10条评论(全部评论)
楼上是个nc,我是个fw
Gravatarfw
2021-04-19 19:48 2楼
贪心爆零。。。
Gravatarcb
2020-07-08 13:35 1楼

3429. [POJ 2054]树染色

★★☆   输入文件:colortree.in   输出文件:colortree.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

一颗树有 $n$ 个节点,这些节点被标号为:$1,2,3…n$,每个节点 $i$ 都有一个权值 $A[i]$。

现在要把这棵树的节点全部染色,染色的规则是:

    根节点$R$可以随时被染色;对于其他节点,在被染色之前它的父亲节点必须已经染上了色。

    每次染色的代价为$T*A[i]$,其中$T$代表当前是第几次染色。

求把这棵树染色的最小总代价。

【输入格式】

第一行包含两个整数 $n$ 和 $R$ ,分别代表树的节点数以及根节点的序号。

第二行包含 $n$ 个整数,代表所有节点的权值,第 $i$ 个数即为第 $i$ 个节点的权值 $A[i]$。

接下来 $n-1$ 行,每行包含两个整数 $a$ 和 $b$ ,代表两个节点的序号,两节点满足关系: $a$ 节点是 $b$ 节点的父节点。

除根节点外的其他 $n-1$ 个节点的父节点和它们本身会在这 $n-1$ 行中表示出来。

同一行内的数用空格隔开。

【输出格式】

输出一个整数,代表把这棵树染色的最小总代价。

【样例输入】

5 1
1 2 1 2 4
1 2
1 3
2 4
3 5

【样例输出】

33

【数据范围】

$1≤n≤1000,1≤A[i]≤1000$

【来源】

《算法竞赛进阶指南》