
数据结构--线段树
淼润淽涵
这个作者很懒,什么都没留下…
展开
-
线段树
线段树单点add,区间sum查询的模板#include<cstdio>#include<cstring>using namespace std;const int maxn=50000+5; //线段树需要维护的信息int sum[maxn*4];#define lson i*2, l, m#define rson i*2+1, m+1, r ...原创 2019-09-29 17:31:42 · 170 阅读 · 0 评论 -
延迟标记 (线段树)
延迟标记在线段树中,单点修改时,我们是将信息从叶节点向上依次更新它的父节点,直到根节点。如果在区间修改仍然按照这个策略,那么修改的时间复杂度为O(N)。为了降低时间复杂度,我们可以在更新时只更新大区间,不向下更新到叶子节点,等查询时再更新。举个例子:我们将1-5的位置上每个数+100,重复10000次上述操作。我们加10000次100和直接+1000000是相等的效果,但是一个执行了1000...转载 2019-08-22 09:10:58 · 1499 阅读 · 0 评论 -
一篇文章搞懂扫描线算法(线段树) HDU1542
前序知识能看懂这篇文章需要:线段树基础知识。 线段树染色问题基本概念。 离散化操作目标首先这个扫描线算法解决的是什么问题?主要解决的是ACM中的 矩形面积问题 矩形周长问题 多边形面积问题这篇博客主讲的问题是:求矩形面积并 HDU 1542题目分析这道题最主要就是让我们求解矩形面积并,求解矩形面积并如果不用任何优化方式,那就是这么算的。...转载 2019-08-21 15:39:10 · 358 阅读 · 0 评论 -
BZOJ 1036 树的统计(线段树+树链剖分)
Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身Input输...转载 2019-10-16 22:21:03 · 170 阅读 · 0 评论