AT_joisc2019_k.合併 (Mergers)
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 合众国有 N 个城市,编号为 1…N,并且有 N−1 条高速公路,编号为 1…N−1。第 i(1≤i≤N−1) 条高速公路双向连接城市 Ai 与 Bi。一个人可以利用高速公路从任意一个城市到达另一个城市。
目前,JOI 合众国有 K 个州,编号为 1…K,城市 j(1≤j≤N) 属于州 Sj。任意一个州内至少有一个城市。
JOI 合众国总统 K 先生害怕国家会分裂。JOI 合众国被称作可分裂的当且仅当所有城市可以被划分为 X 组和 Y 组,并且满足以下条件:
- 所有城市属于 X 组或 Y 组之一;
- X 组中至少有一个城市;
- Y 组中至少有一个城市;
- 对于任意一个州,所有所属州相同的城市都在同一组;
- 一个人可以从 X 组的任意一个城市出发,通过高速公路且只经过 X 组的城市到达 X 组的任意一个城市;
- 一个人可以从 Y 组的任意一个城市出发,通过高速公路且只经过 Y 组的城市到达 Y 组的任意一个城市。
K 先生将要合并一些州,使得 JOI 合众国是不可分裂的。当他合并州的时候,他会选择两个州,然后把这两个州合并成一个新州。新州下辖的城市为原来两个州所有下辖的城市。K 先生想要在合并次数最少的情况下完成合并任务,使得 JOI 合众国是不可分裂的。
注意,如果 JOI 合众国只有一个州,那么它是不可分裂的。
写一个程序,在给定所有城市,州和高速公路的信息的情况下,计算使得 JOI 合众国不可分裂的最小合并次数。
输入格式
第一行两个正整数 N,K,表示城市数量和洲的数量。
接下来 N−1 行每行两个正整数 Ai,Bi,表示一条高速公路。
接下来 N 行每行一个数 Sj,表示第 j 个城市属于第 Sj 个洲。
输出格式
输出一行一个整数,表示使得 JOI 合众国不可分裂的最小合并次数。
说明/提示
输入输出样例
样例输入 #1
5 4
1 2
2 3
3 4
3 5
1
2
1
3
4
样例输出 #1
1
样例输入 #2
5 4
1 2
2 3
3 4
4 5
1
2
3
4
1
样例输出 #2
0
样例输入 #3
2 2
1 2
1
2
样例输出 #3
1
说明/提示
【样例解释】
对于第一组样例,最初国家是可分裂的。例如,将城市 1,2,3,4 归为 X 组,将城市 5 归为 Y 组。如果将第 3 个洲和第 4 个洲合并,国家就会变得不可分裂。因此答案是 1。
对于第二组样例,最初国家是不可分裂。因此答案是 0。
【数据范围】
对于 100% 的数据,1≤N≤5×105,1≤K,Ai,Bi≤N,1≤Si≤K。
输入解题思路,AI测评打分。不知道怎么写?