Loj 504 ZQC的手办 用线段树维护,每个节点存储区间内最小值 \(val\) 以及最小值出现的一个位置 \(pos\) . 对操作 \(1\) ,只需打标记即可,因为我们不维护其他的信息(如区间和),只对最小值修改,容易完成. 对操作 \(2\) ,用一个四元组 \((l,r,v,pos)\) 以 \(v\) 形成的小根堆来查询区间前 \(x\) 小的值,每次取出堆顶,加入答案,再不断对线段树询问 \(p\) 两侧的 \((val,pos)\),插入堆中,重复做 \(x\) 次即可.注意…