#HT12806. 树上圆最大值之和

树上圆最大值之和

题目描述

给定一棵 nn 个点的树。初始时刻为第 00 秒,第 ii 个点的点权为 aia_i。

从第 00 秒到第 11 秒、从第 11 秒到第 22 秒,以此类推:每经过 11 秒,所有点同时将自己的点权变为变换前与该点距离不超过 11 的所有点的点权最大值。

两点间的距离定义为它们之间简单路径经过的边数;特别地,一个点到自身的距离为 00。

给定整数 kk,求最小的非负整数 tt,使得第 tt 秒时所有点的点权之和不小于 kk。

输入格式

第一行两个正整数 n,kn,k。

第二行 nn 个正整数表示序列 a1,a2,…,ana_1,a_2,\dots,a_n。

接下来 n−1n-1 行每行两个数表示树边。

输出格式

输出一行一个非负整数,表示所求的 tt。

样例

4 11
1 3 2 1
1 2
2 3
2 4
1

样例解释

第 00 秒时点权为 1,3,2,11,3,2,1,点权和为 77。

第 11 秒时点权变为 3,3,3,33,3,3,3,点权和为 1212,因此答案为 11。

数据规模与约定

本题共 20 个测试点,每个测试点 5 分。

测试点编号 分值 n≤n\le 特殊性质
1∼21\sim 2 1010 2020 无
3∼63\sim 6 2020 20002000
7∼107\sim 10 2×1052\times 10^5 A
11∼1411\sim 14 B
15∼2015\sim 20 3030 无

特殊性质 A:max⁡1≤i≤nai≤2\max\limits_{1\le i\le n}a_i\le 2。

特殊性质 B:给出的树是一条链。

对于全部测试数据,1≤n≤2×1051\le n\le 2\times 10^5,1≤ai≤201\le a_i\le 20,1≤k≤nmax⁡1≤i≤nai1\le k\le n\max\limits_{1\le i\le n}a_i。

保证输入的 n−1n-1 条边构成一棵树。

原题链接

原题链接