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 大样例过了,交上去一遍过了。想清楚之后写代码基本上都不用怎么调。