T1
点双板子。
场上忘记点双怎么求了,晚自习恶补一下。
T2
对于询问区间 \([l,r]\),则找到第一个逆序对位置 \(pos\),则将 \([pos,r]\) 中的最小值交换到前面更优。
即查询第一个不满足 \(a_{i-1}>a_i\) 的 \(i\),并将 \([i,r]\) 中的最小值与 \([l,i)\) 中的 \(lower_bound\) 交换。
线段树维护 \(\min,\max,\operatorname{minpos},\operatorname{tag}\) 即可。
40min 写完,简单调了 5min 大样例过了,交上去一遍过了。想清楚之后写代码基本上都不用怎么调。