[国家集训队]middle 题目 解法 开\(n\)颗线段树,将第\(i\)颗线段树中大于等于第\(i\)小的数权值赋为1,其他的则为-1,对于每个区间维护一个区间和,最大前缀和,最大后缀和. 然后二分答案,查询二分到的答案对应线段树. \(设s=[a,b-1]的最大后缀和+[b,c]的区间和+[c+1,d]的最大前缀和\) 若\(s\geq 0\),则答案可能更大,否则答案必须变小,仔细想想为什么. 这样不断二分即可. 考虑到开不下那么多线段树,而若排序后相邻线段树维护的序列只有一个元素不同,…