![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
-Dong
本博客转载或复制的内容只作为自己复习回顾用,无意触犯原出处。
展开
-
hdu 1698 Just a Hook (成段更新线段树)
题目链接:哆啦A梦传送门题意:首先给出n个挂钩,每个挂钩的值都为1,接着Q次询问,每次 X,Y,Z,代表在区间 [X,Y]的挂钩都改为Z,模板参考链接:https://www.cnblogs.com/TenosDoIt/p/3453089.html题解:很显然这是用成段更新线段树去做,但我们需要变幻一下,延迟标记就不用+=,直接=。因为我们每次更新都只是改变值,不是加上,这样会不...原创 2018-12-03 16:20:17 · 179 阅读 · 0 评论 -
hdu 1166 敌兵布阵 (单点更新线段树模板)
题目链接:哆啦A梦传送门题解:参考链接:https://www.cnblogs.com/TenosDoIt/p/3453089.html#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxn=50010;stru...原创 2018-12-02 22:44:51 · 171 阅读 · 0 评论 -
线段树应用(牛客多校第6场I)
在这里先推荐篇博客,关于线段树入门的,自己感觉博主写得挺好的。https://www.cnblogs.com/TenosDoIt/p/3453089.html来,给道例题。Team Rocket链接:https://www.nowcoder.com/acm/contest/144/I来源:牛客网时间限制:C/C++ 4秒,其他语言8秒空间限制:C/C++ 2...原创 2018-08-15 23:17:02 · 250 阅读 · 0 评论 -
多校2 hdu 6315 Naive Operations (线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6315题意:给出初始数组a,元素值均为0,数据数组b,两种询问方式 add,x,y 表示在区间 [x,y] 中每个元素均+1,query x y,表示计算 。参考博客:题解:线段树应用,我们首先我们在建立线段树之前应该思考的是线段树的节点维护一个什么值, 维护了b[i]的值,因为a[i...原创 2019-02-13 00:04:44 · 146 阅读 · 0 评论 -
hdu 1828 Picture (扫描线+线段树 求多矩形总周长)
题目链接:哆啦A梦传送门题意:给出n个矩形围城的多边形,求它们的总周长。题解:参考博客:跟hdu 1542解法差不多,也是扫描线求。对于扫描线从下往上扫,每次横轴的长度为=|上一次的有效长度-这次的有效长度|。对于竖轴的长度,我们在每个节点添加lc,rc,num,分别表示该节点的左右端点是否被覆盖(lc,rc为1表示被覆盖),num表示此节点代表的区间里有多少条线段。那...原创 2019-07-09 15:04:20 · 277 阅读 · 0 评论 -
hdu 1542 Atlantis (扫描线+离散化线段树求多矩形总面积)
题目链接:哆啦A梦传送门题意:给n个矩形,求它们的总面积,覆盖的只算一次。每个矩形给出左下点和右上点。参考博客1:参考博客2扫描线从下往上扫描,每次求出该扫描线的有效长度,再与两条线之间的高度相乘就是最后的面积。线段树更新,遇到该边为矩形的下边就加进去,遇到该边为矩形的上边就减掉。代码:#include<cstdio>#include<...原创 2019-07-09 13:39:45 · 277 阅读 · 0 评论 -
poj 2528 Mayor's posters(线段树+离散化)
题目连接:哆啦A梦传送门题意:有n张海报,每个海报有左右区间 [l,r]。在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报。题解:离散化+线段树。参考博客:假设更新区间包含当前节点区间,将当前区间直接修改颜色。假设更新区间不完全包含或者不包含当前区间,将当前区间的颜色给左右子节点。这里使用离散化线段树,因为坐标范围太大,而这里又不需要求总长之类的,我们只需只...原创 2019-07-08 19:33:52 · 127 阅读 · 0 评论