强制在线动态二维数点

· · 题解

(y,x) 的点视作 [x,y] 的区间,现在问题转化为维护区间集合 S,支持:

对于一次询问操作 [l,r]

可以证明这是正确的:

上面两项都可以使用线段树简单维护。用 std::mutiset 辅助存储每个左端点对应的右端点集,以及每个右端点对应的左端点集。修改时单点修改两棵线段树上的对应位置。时间复杂度 \Theta\left((n+q)\log n\right),可以通过。

其他任何想法欢迎与我私信交流。