传送门 因为\(Splay\)可以\(O(logn)\)维护区间,所以直接对每一行维护第一个元素到倒数第二个元素的\(Splay\),最后一列维护一个\(Splay\),每次把选出来的点删掉,然后把那一行对应的在最后一列\(Splay\)的点接在这一行后面,然后把选出来的点接在最后一列最后 注意这里要动态开点,即一个点代表一段区间,每次询问再拆开所以我大力分类讨论,写了好长好久qwq #include<bits/stdc++.h> #define LL long long #define il…