#P4751. 【模板】"动态DP"&动态树分治(加强版)
【模板】"动态DP"&动态树分治(加强版)
题目背景
树剖常数小!跑不满!
shadowice1984 为了向你证明他能卡树剖并且会卡树剖从而出了这道毒瘤题。
保证答案均在 int
范围内。
然后就被离线算法针对了……
因此这道题变成了强制在线。
题目描述
同 P4719。
给定一个 个点的带点权树,进行 次修改点权的操作。
你需要在每次修改之后输出树上最大带权独立集的权值之和。
输入格式
同 P4719。
第一行两个正整数 , 表示树的点数和总操作个数
第二行 个整数 表示每个点的点权。
接下来 行每行两个整数 , 表示将 的点权修改为 。
对于第 行, 即为被操作的点的编号。
对于第 到 行,被操作的点的编号 。
其中 是上一次操作后输出的答案, 表示按位异或操作。
输出格式
输出 行,第 行表示表示第 次操作之后树上最大带权独立集的权值和。
10 10
-11 80 -99 -76 56 38 92 -51 -34 47
2 1
3 1
4 3
5 2
6 2
7 1
8 2
9 4
10 7
9 -44
184 -17
184 98
185 -58
153 48
190 99
296 -61
253 76
329 14
264 93
186
186
190
145
189
288
244
320
258
304
提示
数据范围 ,。保证任意时刻各点点权的绝对值 。
时限为标程的二倍,如果卡常数的话请使用 int
类型。