黑白翻转:求将树变为美丽树的最少操作次数
题目描述
小杨有一棵包含n个节点的树,这棵树上的任意一个节点要么是白色,要么是黑色。小杨认为一棵树是美丽树当且仅当在删除所有白色节点之后,剩余节点仍然组成一棵树。
小杨每次操作可以选择一个白色节点将它的颜色变为黑色,他想知道自己最少要执行多少次操作可以使得这棵树变为美丽树。
输入格式
- 第一行包含一个正整数n,代表树的节点数。
- 第二行包含n个非负整数$a_1,a_2,\dots,a_n$,其中如果$a_i=0$,则节点i的颜色为白色,否则为黑色。
- 之后n-1行,每行包含两个正整数$x_i,y_i$,代表存在一条连接节点$x_i$和$y_i$的边。
输出格式
输出一个整数,代表最少执行的操作次数。
样例1
输入
5
0 1 0 1 0
1 2
1 3
3 4
3 5
输出
2
样例解释
将节点1和3变为黑色即可使这棵树变为美丽树,此时删除白色节点5,剩余黑色节点仍然组成一棵树。
数据范围
对于全部数据,保证有$1\leq n\leq 10^5,0\leq a_i\leq 1$。
子任务如下: | 子任务编号 | 数据点占比 | n | $a_i$ | 特殊条件 | | --- | --- | --- | --- | --- | | 1 | 30% | $\leq 10^5$ | $0\leq a_i\leq 1$ | 树的形态为一条链 | | 2 | 30% | $\leq 10^5$ | $0\leq a_i\leq 1$ | 只有两个节点颜色为黑色 | | 3 | 40% | $\leq 10^5$ | $0\leq a_i\leq 1$ | 无 |
限制
- 时间限制:1.0 s
- 内存限制:512.0 MB
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析