建议评黑
查看原帖
建议评黑
186472
AC_loveRealNewbie楼主2024/5/31 19:39

本题有四个操作:I,Q,R,M

I,Q 操作是经典的平衡树操作,需要再平衡树的每个节点维护:

cnt(node)=∑[hi>hi+1]cnt(node) = \sum [h_i > h_{i + 1}]

ans(node)=∑(R−i)×[hi>hi+1]ans(node) = \sum (R - i) \times [h_i > h_i + 1]

并通过 cntcnt 和 ansans 计算答案贡献。

思考怎么维护这两个操作就已经具备紫题的难度了。

若加上 R 操作,还需要加上文艺平衡树的翻转操作,码量和出错率都大大增加,足以有上位紫的难度。

但 M 操作才是最恶心的,在平衡树中插入一个历史版本,点的个数会以倍增的速度增长,可以达到 long long 数量级,普通的平衡树再也无能为力,必须要用可持久化平衡树,每次复制一个序列都需要动态开点,让码量再次翻倍。

思路或许相对比较容易理解,但实现起来难写且难调,应该有省选以上的难度,建议评黑。

2024/5/31 19:39
加载中...