luogu#P11529. [THUPC2025 初赛] 辞甲猾扎

[THUPC2025 初赛] 辞甲猾扎

题目描述

给你一棵 nn 个点的无根树,有 kk 个点初始为黑色,其余点初始为灰色,你可以在一开始将一些灰色点染成白色。染完后,现在进行如下操作,直到树上不存在灰色点。

每一轮对所有灰色点同时进行如下操作:

  1. 检查与该灰色点 uu 直接相连的点有没有黑色或白色点,如果没有,则 uu 保持灰色。
  2. 如果与 uu 直接相连的点有白色点,则 uu 变为白色。
  3. 如果与 uu 直接相连的点有黑色点,则 uu 变为黑色。

这个顺序说明同时与白色和黑色相邻时会被染成白色。

注意此处对所有灰色点同时进行操作,也就是说在这一轮被染上颜色的点不能作为其它点改变颜色的根据。

现在求一开始最少染几个点为白色,可以使树最终黑色点不超过 kk 个。

输入格式

第一行两个整数 n,k  (1n106,1kn)n,k\;(1\le n\le 10^6,1\le k \le n),含义见上文。

第二行 kk 个整数,代表一开始被染成黑色的点的标号。

3n+23\sim n+2 行每行两个整数 u,v  (1u,vn)u,v\;(1\le u,v\le n),代表一条树上的边。

输出格式

一行一个整数,为答案。

5 2
3 5
1 2
1 3
2 4
2 5
1
10 3
1 6 8
1 2
2 3
3 4
4 5
4 6
5 7
5 8
6 9
7 10
3

提示

  • 对于第一组样例,一开始将 22 号点染白即可
  • 对于第二组样例,一开始将 3,4,93,4,9 号点染白为满足条件且数量最小一组方案

题目来源

来自 2025 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2025)初赛。

题解等资源可在 https://gitlink.org.cn/thusaa/thupc2025pre/tree/master 查看。