线段树 标记永久化
要求标记有交换律,可以降低下传标记的常数,当标记比较复杂时可直接降低复杂度(常见于树套树中)
例:P8543 「Wdoi-2」纯粹的复仇女神
给定 \(a_{1\sim n}\) 和 \(c_{1\sim n}\),\(q\) 次询问 \(l,r\),每次求 \(\max_{k=1}^n(\min_{l\le i\le r,c_i=k}a_i)\)(若 \(\min\) 内没有符合要求的则为 \(0\)),\(1\le a_i,c_i\le n\le2\times10^5,q\le10^6\)
令 \([L_i,R_i]\) 为满足 \(\forall L_i\le j\le R_i\land c_j=c_i,a_j\ge c_i\) 的极大区间,其容易通过单调栈线性求出
则一个 \([L_i,R_i]\) 会使 \(L_i\le l\le i,i\le r\le R_i\) 的询问 \(l,r\) 的答案对 \(a_i\) 取 \(\max\)
转化为若干次矩形取 \(\max\) 和单点查询,其中查询在修改之后
离线所有询问后扫描线处理即可,时间复杂度 \(O(n\log^2 n+q\log n)\),需要用两个堆模拟支持 插入、删除、取最大 的可重集
参考
- \(\text{2024.12.13 EZDS.pdf\;\;\; by Luzhuoyuan}\)

浙公网安备 33010602011771号