[GESP202412 八级] 树上移动

普及/提高- GESP 八级 真题

题目描述

小杨有一棵包含 $n$ 个节点的树,其中节点的编号从 $1$ 到 $n$,每个节点的颜色要么是白色要么是黑色,小杨可以任意选择节点 $s$ 和节点 $t$ 并从节点 $s$ 出发移动到节点 $t$,移动过程中小杨不能够经过重复节点。

小杨希望自己在至多经过 $k$ 个黑色节点的前提下,经过的总节点数尽可能多,请你帮小杨选择经过最多的节点数是多少。

输入格式

第一行包含两个正整数 $n,k$,代表节点数量和至多经过的黑色节点数。

第二行包含 $n$ 个正整数 $a_1,a_2,\dots,a_n$,代表节点颜色,如果 $a_i=0$,代表节点颜色为白色,如果 $a_i=1$,代表节点颜色为黑色。

之后 $n-1$ 行,每行包含两个正整数 $u_i,v_i$,代表存在一条连接 $u_i$ 和 $v_i$ 的边。

输出格式

输出一个正整数,代表最多经过的节点数。

数据范围

子任务编号 数据点占比 $n$ $k$ 特殊性质
$1$ $20\%$ $\leq 100$ $\leq 100$ 树的形态为一条链
$2$ $20\%$ $\leq 1000$ $0$
$3$ $60\%$ $\leq 1000$ $\leq 1000$

对于全部数据,保证有 $1\leq n\leq 1000$,$0\leq k\leq 1000$,$0\leq a_i\leq 1$。

样例输入 1

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

样例输出 1

3
时间限制: 1000ms
内存限制: 256MB
通过率: 0.0%
提交数: 0

设置

导航栏小工具

时钟
显示实时时钟(默认组件)
📝
代码粘贴板
快速创建和分享代码片段