#P8959. 「CGOI-3」灵气
「CGOI-3」灵气
题目背景
「地牢中回荡着尖叫声...」
打完世花的 ac 进入地牢刷灵气……
花后地牢十分险恶,ac 想在地牢里搭满单向门。
题目描述
ac 世界里的地牢有 个小房间,恰好存在 条过道,并且每个小房间连通。第 个小房间生成的怪在一个时刻最多只会存在一个,且伤害为 。
为了方便刷灵气,ac 在每个过道上建了一个单向门。
每一秒会发生以下几个事件之一:
-
第 个房间生成了一个怪。怪不会穿墙,只会顺着单向门方向移动。
-
第 个房间生成的怪被 ac 的仆从干掉了。
-
ac 想要挂机刷怪,于是他希望知道,如果从时刻 1 开始站在房间 一直到当前时刻,受到伤害最多的一个时刻所受伤害是多少。
这里定义一个时刻受到伤害为可以走到 ac 所在房间的怪的伤害值总和,“可以走到”定义为可以穿过若干条单向门到达 ac 的房间(若干可以为 )。ac 非常强大,不会中途被怪打死。
当然,ac 所在的位置不会改变怪的刷新和仆从的行为。
简化版题面
一棵树,每个点有个点权,每条边有个方向。
有个集合,一开始为空,三个操作:
- 在集合中加入一个点。
- 删除集合中的一个点。
- 给出一个点 ,询问集合中满足可以走到 的点的点权之和的历史最大值。
输入格式
第一行,两个整数 ,分别表示房间个数和事件个数。
接下来一行,共 个整数,第 个数表示 房间中怪的伤害 。
接下来 行,每行两个整数 ,表示 与 有一条过道,单向门方向为 。
接下来 行,第 行两个整数 ,表示第 号房间发生了 号事件。
对于 的操作,保证 号房间没有怪。
对于 的操作,保证 号房间有怪。
输出格式
对每一个 的事件,输出一个整数表示答案,并用换行隔开。
5 7
1 2 3 4 5
1 2
3 1
4 3
3 5
1 4
3 1
2 4
1 3
1 5
3 1
3 5
4
4
8
8 7
4 1 3 5 8 6 2 9
1 2
3 1
4 2
5 1
5 6
7 5
6 8
1 1
1 5
3 7
3 1
1 2
2 5
3 5
0
12
8
提示
样例一说明
第一个询问中,时刻 存在怪的房间为 , 号房间的怪可以走到 号房间,因此答案为 。
第二个询问中,受到伤害最大的时刻为时刻 ,答案为 。其中时刻 存在怪的房间为 ,而 号房间的怪走不到 号房间,因此此时刻受到伤害为 ,不是最大值。
第三个询问中,受到伤害最大的时刻为时刻 , 号房间的怪均可走到 ,因此答案为 。
数据范围
「本题采用捆绑测试」
对于 的数据,。
对于另 的数据,过道 单向门满足 。
对于另 的数据,不存在 2 事件。
对于 的数据,,。
但是地牢幽魂就是穿墙怪()()()
不会真的有人会在地牢里搭满单向门吧。