luogu#P8479. 「GLR-R3」谷雨
「GLR-R3」谷雨
题目背景
「几枝新叶萧萧竹,数笔横皴淡淡山」
十几天前的那条路,还好,两个人一起。
“很幸运呢”,阿绫悄悄嘬一口才破涕为笑的天依,“上天保佑我们要在一……”
鼓着腮掐着软软的腰,天依却又不觉流露笑意,是很幸运呢,刚好入围……
鳞次栉比的尽头,天空似云下起伏的山,皴擦着淡青墨样的欣喜。
她们的故事还在继续,正如谷物正当在今日生长。
谷雨 「我翻过一座高山 前方依然 山路漫漫」
题目描述
老 V 为发挥不错的大家办了场小 party,为了活跃气氛,同时贯彻安全环保的理念,(主要还是因为编不出来了,) 老 V 带来了一个高大上的“电子烟花”,美其名曰,火树银花。
物如其名,这是一棵含有 个结点的树,结点 上有点权 ,表示该结点上所设烟花样式的绚丽度。好奇的大家一共对它进行了 次操作,不妨记树上从 到 的路径上的结点(含 )构成集合 ,则每次操作形如:
-
给定结点编号 和新的绚丽度 ,意为将所有 ,或者存在一个邻接点 的结点 的绚丽度 赋值为 。
-
给定 ,点燃这一串烟花最“耀眼”的子段。具体地,维护一个序列 ,从 出发沿着树边走向 ,当走到结点 ( 可能为 或 ) 时:
- 将 加入序列 的末尾;
- 按标号从小到大枚举 的邻接点 ,若 ,将 加入 的末尾;
- 最后,走向下一个结点。
得到最终的 后,系统将自动点燃 中绚丽度之和最大的子段,子段可能为空。而你需要求出这一和的最大值,即对于每次 1. 操作,求出 的最大可空子段和。
输入格式
第一行一个整数 ,表示该测试数据所属的子任务编号。
第二行一个整数 ,表示树的结点个数。
第三行 个整数,第 个整数 表示结点 的初始权值。
第四行 个整数,为方便选手处理数据,此处假设 号结点为树的根。 第 个整数 表示结点 的父亲,即表述一条边 。保证 。
第五行一个整数 ,表示需要处理的操作数量。
接下来 行,每行格式为 或者 ,分别对应了「题目描述」中的两种操作。
输出格式
输出有若干行,第 行应包含一个整数 ,表示第 次 1. 操作的答案。
0
5
1 2 3 4 5
1 2 2 1
5
1 1 2
0 2 3 -2
1 3 4
0 4 4 1
1 3 4
15
0
1
提示
样例 #1 解释
本组样例不属于测试数据,故第一行 以 代替。
第 次操作为询问,依次遍历到的结点为 ,对应权值队列 ,最大子段和为 。
第 次操作为修改,将结点 的点权修改为 。
第 次操作为询问,依次遍历到的结点为 ,对应权值队列 ,注意子段可以为空,所以最大子段和为 。
第 次操作为修改,将结点 的点权修改为 。
第 次操作为询问,依次遍历到的结点为 ,对应权值队列 ,最大子段和为 。
数据规模与约定
本题采用 Subtask 的计分方式。
设 为初始点权以及修改操作中点权的值域。
对于 的数据,,,,操作参数 。
对于不同的子任务,作如下约定:
子任务编号 | 特殊性质 | 子任务分值 | ||
---|---|---|---|---|
无 | ||||
A | ||||
B | ||||
C | ||||
D | ||||
无 | ||||
E | ||||
无 |
- 特殊性质 A:对于所有 ,满足 。
- 特殊性质 B:对于所有操作中的参数 ,满足 。
- 特殊性质 C:不存在修改操作。
- 特殊性质 D:有且仅有第 次操作是询问操作。
- 特殊性质 E:对于所有询问操作中的参数 ,满足当结点 为树根时, 或 是 的祖先。
- 注意:输入数据中的 仅指该数据点所属子任务编号,该数据点可能满足其他子任务的约束条件。