CF1088F.Ehab and a weird weight formula
省选/NOI-
通过率:0%
时间限制:2.50s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You're given a tree consisting of n nodes. Every node u has a weight au. It is guaranteed that there is only one node with minimum weight in the tree. For every node u (except for the node with the minimum weight), it must have a neighbor v such that av<au. You should construct a tree to minimize the weight w calculated as follows:
- For every node u, degu⋅au is added to w (degu is the number of edges containing node u).
- For every edge u,v, ⌈log2(dist(u,v))⌉⋅min(au,av) is added to w, where dist(u,v) is the number of edges in the path from u to v in the given tree.
给你一棵包含 n 个节点的树。每个节点 u 有一个权值 au。保证树中仅存在一个权值最小的节点。对于每个节点 u(除权值最小的节点外),它必须存在一个邻接节点 v,满足 av<au。你需要构造一棵树,使得如下定义的权值 w 最小:
- 对于每个节点 u,将 degu⋅au 加入 w(其中 degu 表示节点 u 的度数,即与 u 相连的边的数量);
- 对于每条边 {u,v},将 ⌈log2(dist(u,v))⌉⋅min(au,av) 加入 w,其中 dist(u,v) 表示给定树中从 u 到 v 的路径所包含的边数。
输入格式
The first line contains the integer n (2≤n≤5⋅105), the number of nodes in the tree.
The second line contains n space-separated integers a1,a2,…,an (1≤ai≤109), the weights of the nodes.
The next n−1 lines, each contains 2 space-separated integers u and v (1≤u,v≤n) which means there's an edge between u and v.
第一行包含一个整数 n (2≤n≤5⋅105),表示树中节点的数量。
第二行包含 n 个以空格分隔的整数 a1,a2,…,an (1≤ai≤109),表示各节点的权值。
接下来的 n−1 行,每行包含两个以空格分隔的整数 u 和 v (1≤u,v≤n),表示节点 u 与节点 v 之间存在一条边。
输出格式
Output one integer, the minimum possible value for w.
输出一个整数,即 w 的最小可能值。
输入输出样例
输入#1
3 1 2 3 1 2 1 3
输出#1
7
输入#2
5 4 5 3 7 8 1 2 1 3 3 4 4 5
输出#2
40
说明/提示
In the first sample, the tree itself minimizes the value of w.
In the second sample, the optimal tree is:

在第一个样例中,树本身即最小化了 w 的值。
在第二个样例中,最优树为:

输入解题思路,AI测评打分。不知道怎么写?