动态树上最大权独立集
Description
给定一棵\(n\)个节点的树,初始时所有点权值为\(0\)。有\(m\)次修改\((pos, dt)\),表示将\(pos\)点权修改为\(dt\)。每次修改之后,询问整个树最大权独立集。也就是权值和最大的点集,满足任意两点间均没有边。
Input
- 第一行输入两个数\(n, m\);
- 下面\(n-1\)行每行两个正整数\(u, v\),表示\(u, v\)间有一条边;
- 下面\(m\)行每行两个正整数\(pos, dt\),表示一次询问。
Output
- 对于每个询问输出一行,为当前最大权独立集。
Sample
Input
8 10
2 1
3 2
4 3
5 4
6 5
7 6
8 7
6 189
5 839
6 242
6 494
1 161
4 470
5 782
2 576
1 304
5 335
Output
189
839
839
839
1000
1125
1125
1540
1540
1540
Hint
- 对于15%的数据,\(n\le 100, m\le 200\);
- 对于20%的数据,\(n, m\le 3000\);
- 对于另外20%的数据,树是随机生成的;
- 对于另外5%的数据,树是一条链;
- 对于另外5%的数据,树是一个菊花;
- 对于80%的数据,\(n, m\le 50000\);
- 对于100%的数据,\(n\le 50000, m\le 100000\),保证所有数据和答案在INT范围内。
信息
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 2
- 已通过
- 1
- 通过率
- 50%
- 上传者