线段树
林中的亮光
沉着冷静淡定
展开
-
Atlantis
主要这篇文章想说一些自己遇到的困惑1. 线段树维护的内容是什么,以y轴建立扫描线为例 ,我们知道当遇到两条边的时候间距很好求出,然而高度却不好求出,并且随着出边与入边的改变,在y轴上被划分的小矩形块的一直在变化,因此,需要维护的就是这个长度。2. 为什么这段代码当中 r要 -1 ,l 不用? l = lower_bound(ally + 1,ally + 1 + cnt,e[i].a) - ally; r = lower_bound(ally + 1,ally + 1 ...原创 2022-02-22 17:31:59 · 211 阅读 · 0 评论 -
线段树区间修改用到的懒标记
在代码中spread片段用来表示懒标记。个人理解,就是进行区间修改时,遇到查询区间完全覆盖目标区间的情况时,那么修改整个区间的数据时间复杂度是O(n)级别的,但是在查询答案时候,可能就用不到这个区间,因此我们给该区间加一个标记,当需要用到的时候再进行修改操作,以降低复杂度。但值得注意的是,一个点被标记的时候,往往其本身已经被修改过了,要做的是将标记传给它的子节点。例题:一个简单的整数问题2#include<bits/stdc++.h>using namespace std;c.原创 2022-02-22 13:21:29 · 661 阅读 · 0 评论