找平衡树练习题的时候发现了这道神题,可以说这道题是近几年单考splay的巅峰之作了. 题目大意:给出括号序列,实现区间翻转,区间反转和区间更改.查询区间最少要用几次才能改成合法序列. 分析: 首先我们单看查询操作.不妨想象一下存在着一个栈,往里面入栈和出栈,那么从原序列中取出一对(),对应着一个入和一个出.那么当)的前面再也找不到(与之对应的时候,)就要被更改成(. 这有什么用呢?我们会发现,删除一对()对答案不具有影响.接着我们删除所有可以匹配的括号,得到一个))))))((((((这样的序列…