莫队:著名 \(O(n\sqrt{n})\) 离线算法,思想基于分块。
令 \(t = \sqrt{n}\) ,将区间左端点分成 \(t\) 块,按块从小到大排序,再将块内按从小到大排序。即:
bool compare(node s1 , node s2){ if(s1.x / t < s2.x / t) return true; if(s1.x / t > s2.x / t) return false; return s1.y < s2.y; }
之后双指针维护序列即可。