动态树上最大权独立集

动态树上最大权独立集

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%
上传者