对于每一个操作,我们先在定义在[1,K][1,K]的线段树的对应位置插入询问。也就是说一个询问最多被分成log2lenlog2len块。 等到所有的操作全部被插入完成后,我们考虑对每个节点进行询问。对整棵线段树进行一遍dfs。加入我们访问到叶子结点xx(也就表示我们要回答时间段xx的询问了),我们只需将根到xx路径上的所...
线段树二分的思路,简单来讲就是先将整个问题离线下来,以时间轴为坐标建立一颗线段树,然后对于每一个修改,就在线段树上对应的位置打上永久的标记。接下来以dfs遍历整棵树并在通过标记时将其计入答案。通常可以解决一些容易解决区间加法,却不易解决区间减法的问题。在本题中,我们只要用一个扩展域并查集维护原图是否是二...