[SCOI2011] 植物大战僵尸 + 减半警报器
关于这个题,想到了一个加强思路。
快进到每个点拆成两个,维护若干平衡树。然后我们把每一行第一个位置丢到一个堆里面,每次取出第一个然后把对应平衡树上的后缀的点做点权减(点权指出现次数)。删除点变成 swap 两个平衡树。
然后我们注意到对于后缀点权减的操作我们是暴力做的,具体来说是以
这部分是容易优化的,具体来说,考虑 lxl 提出的减半警报器,对于一个点权为
如果点数为
关于这个题,想到了一个加强思路。
快进到每个点拆成两个,维护若干平衡树。然后我们把每一行第一个位置丢到一个堆里面,每次取出第一个然后把对应平衡树上的后缀的点做点权减(点权指出现次数)。删除点变成 swap 两个平衡树。
然后我们注意到对于后缀点权减的操作我们是暴力做的,具体来说是以
这部分是容易优化的,具体来说,考虑 lxl 提出的减半警报器,对于一个点权为
如果点数为