摘要:
区间最值操作 题目描述 点此看题 维护一个数据结构支持区间取最小值,查询区间最大值,查询区间和。 解法 线段树上每个节点维护 \(mx\) 表示区间最大值,\(cx\) 表示区间严格次大值,对于修改我们这样做: 如果 \(mx\leq t\),那么忽略这次取最小值的操作。 如果 \(mx>t>cx\ 阅读全文
摘要:
一、题目 点此看题 二、解法 宋队写矩阵直接 \(\tt T\) 飞了,这么多操作好像势能线段树也很难$...$ \(\tt observation\):对于最难搞的二操作,新的值是关于原来值的只有一个折点的折线函数。 那么我们尝试维护函数 \(f(x)=\max(x+a,b)\),对于前三种操作, 阅读全文
摘要:
一、题目 点此看题 二、解法 第一次过历史线段树的题,写篇题解纪念一下 核心思想就是将标记看作一个操作序列,我们需要额外维护一个序列前缀最大值。 具体来说:我们维护 icv,cv,hcv 表示是否被覆盖$/\(当前的覆盖标记\)/\(历史覆盖标记最大值;维护 `ad,had` 表示当前的加法标记\) 阅读全文