#Lutece2941. Keep the least!!!
Keep the least!!!
Migrated from Lutece 2941 Keep the least!!!
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
Tag:dfs序+LCA+一些结论
给定一棵个点的树,树上点的编号从到,每个点都有点权。对于一个点集,点集总是满足:
- 是的子集;
- 对于树上的边,若只保留满足uT且vT的边而删除其余所有边,能使得S集合所有点在同一个连通块中。
给定一个初始的点集,包含个点。现在进行次操作,可分为两种操作:
- 增加操作:向点集中加入一个点,保证在此次操作前不在点集中;
- 删除操作:删除点集中的一个点,保证在此次操作前存在于点集中。
定义一个点集的权值是点集中所有点的权值之和。对于一个确定的点集,总是存在一个或多个权值最小的点集,请求出每次操作后的最小权值。
Input
输入第一行包含三个整数,分别表示点的个数、初始点集的大小和操作次数。 输入第二行包含个整数,其中第个整数表示第个点的点权。 接下来行,每行包含两个正整数和,表示点和点之间存在一条边。 接下来一行包含个整数,表示初始集合中包含的点的编号。 接下来行,每行描述一次操作,包含两个正整数和:
- 若,则表示向中加入点。
- 若,则表示删除中的点。
保证所有操作合法。
Output
对于每次操作,输出一行一个整数,表示此时的最小权值。
Samples
7 2 5
5 2 1 1 3 1 4
1 2
2 3
2 4
4 5
5 6
6 7
6 7
1 1
1 2
1 3
2 6
2 7
16
16
17
17
8
Constraints
$1\le n,m,q\le 10^5,1\le m\le n,1\le u,v\le n,1\le a_i\le 10^9,opt=1,2$
Resources
2023 UESTC ICPC Training for Data Structures