#P16294. [蓝桥杯 2026 省 Java A 组] 子树染色
[蓝桥杯 2026 省 Java A 组] 子树染色
题目描述
给定一棵有 个结点的树,结点编号为 到 ,其中结点 是树根。现在需要在这棵树上选择一些结点进行染色。
树上有 个关键结点。对于每个关键结点 ,设其子树大小为 (子树包含 本身及其所有后代),则以 为根的子树中,被染色的结点数必须不少于 。
请你求出,在满足所有关键结点要求的前提下,最少需要染色多少个结点。
输入格式
输入共 行。
第一行包含两个整数 ,分别表示结点总数和关键结点数量;
第二行包含 个互不相同的整数,表示所有关键结点的编号;
接下来 行,每行包含两个整数 ,表示结点 和结点 之间有一条边。
输出格式
输出一个整数,表示最少需要染色的结点总数。
10 5
3 4 5 7 10
1 2
1 3
1 4
3 5
3 6
3 7
5 8
5 9
6 10
5
提示
【样例说明】
一种最优方案是将结点 染色,共 个结点。
【评测用例规模与约定】
对于 的评测用例,;
对于所有的评测用例,,。