#B. 网络

    Type: Default File IO: network 2000ms 512MiB

网络

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

网络(network\texttt{network}

【题目描述】

小 D 负责管理一个计算机网络,这个计算机网络形成树形结构,该网络由 nn 个节点和 n1n-1 条网线连接,保证任意两个网线都可以通过若干条网线连接。

小 D 需要完成 mm 个计算任务,每个节点恰好负责一个计算任务,具体来说,第 uu 个节点负责计算任务 aua_u

如果这个网络中存在一条网线,使得将这条网线切断后,负责同一个计算任务的节点依然可以通若干条剩余的网线,那么就称这条网线是冗余的。

小 D 可以合并若干计算任务,即选定 x,yx,y,将所有 au=xa_u=xaua_u 设成 yy

小 D 想在最少的操作次数内将这个网络的所有网线都变成不冗余的,请你帮他求出最少的操作次数。

【输入格式】

network.in\texttt{network.in} 中读入数据。

第一行两个整数 nnmm

接下来 n1n-1 行,每行表示一条网线,每行两个整数 ui,viu_i,v_i 表示第 ii 条网线连接的两个节点。

接下来 nn 行,每行一个整数 aia_i 表示第 ii 个节点负责任务 aia_i

【输出格式】

输出到 network.out\texttt{network.out} 中。

一行一个整数表示答案。

【样例 1 输入】

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

【样例 1 输出】

1

【样例 1 解释】

初始网线 (3,5)(3,5)(3,4)(3,4) 是冗余的。

如果合并计算任务 3,43,4,那么所有网线都不是冗余的。

【样例 2】

见下发文件中的 network2.in\texttt{network2.in}network2.ans\texttt{network2.ans}

该样例满足子任务 11 的限制。

【样例 3】

见下发文件中的 network3.in\texttt{network3.in}network3.ans\texttt{network3.ans}

该样例满足子任务 33 的限制。

【样例 4】

见下发文件中的 network4.in\texttt{network4.in}network4.ans\texttt{network4.ans}

该样例满足子任务 55 的限制。

【样例 5 输入】

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

【样例 5 输出】

0

【数据范围】

对于所有测试数据有:1mn5×105,1aim1\le m\le n\le 5\times 10^5,1\le a_i\le m,保证每个计算任务初始至少有一个节点负责。

子任务编号 分值 特殊限制
11 55 n100,m7n\le 100,m\le 7
22 1010 n3000n\le 3000
33 1515 n105,m50n\le 10^5,m\le 50
44 n105n\le 10^5,特殊性质 A\text A
55 5555 无特殊限制

特殊性质 A\text A:负责同一个计算任务的节点至多经过 100100 条网线即可相互到达。

NOIP2024 模拟赛(二)

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-8-6 7:50
End at
2024-8-6 12:05
Duration
4.3 hour(s)
Host
Partic.
35