线段树
文章平均质量分 90
StevenIsSnail
辛苦理所当然。年轻就拼搏。挑战不确定。
展开
-
【九章算法】经典题目
九章算法面试题42 构造MaxTree原创 2014-11-20 22:52:51 · 3987 阅读 · 3 评论 -
离散化压缩线段树
线段树(Interval Tree) 线段树是一种二叉搜索树,将一个大区间划分成单元区间,每个单元区间对应一个叶子节点;内部节点对应部分区间,如对于一个内部节点[a, b]而言,其左子节点表示的区间为[a, (a+b)/2],其右子节点表示的区间为[1+(a+b)/2, b]; 对于区间长度为N的线段树,由于其单元节点都是[a, a]的叶子节点,所以其叶子节点数为N,并且整棵树转载 2014-09-29 10:36:27 · 919 阅读 · 1 评论 -
【dfs+线段树get/set】 编程之美 tree
题目2 : 树时间限制:4000ms单点时限:2000ms内存限制:256MB描述有一个N个节点的树,其中点1是根。初始点权值都是0。一个节点的深度定义为其父节点的深度+1,。特别的,根节点的深度定义为1。现在需要支持一系列以下操作:给节点u的子树中,深度在l和r之间的节点的权值(这里的深度依然从整个树的根节点开始计算),都加上一原创 2014-09-29 14:21:09 · 552 阅读 · 0 评论 -
【线段树】HDU1542 线段树求面积周长
hdu1542用线段树A过~ (2010-12-01 17:00:18)转载▼标签: 线段树 点值 横坐标 k-1 横线分类: 线段树1542这个题用线段树做,有两个收获,一是复习了类似的离散化,段更新求面积周长的方法,另外,就是学到了如何把“点值”转换成“段值”,线段树转载 2014-10-17 20:31:32 · 565 阅读 · 0 评论 -
RMQ-ST 解决在线LCA
#include #include #include #include using namespace std;int L=0, R=999999; int t[1000000];int s[1000000];int m[1000000]; // idx of node with min depth in sort-vq[]int d[1000000];原创 2014-10-25 21:41:01 · 927 阅读 · 0 评论 -
【gcj 2008 1c】长数字串运算计数,递增子序列计数
第二题 长数字串运算计数长度为D的数字串(D两次DP 第一次用于区间[l, r] 对应的大整数对小整数 求余(见数字分类下的某篇文章)。 第二次是区间分解dp。算法code: https://github.com/stevenberge/acm/blob/master/gcj/20081c2.cc第三题 递增子序列计数 给定一个数列,求严格的单增子序原创 2014-12-14 18:58:12 · 596 阅读 · 0 评论 -
【线段树】基本写法,区间极值,区间延迟更新,多延迟标签
struct tree{ nodes[MAXN]; void drillD原创 2014-10-17 23:54:40 · 1066 阅读 · 1 评论 -
【漂浮法或线段树】 解决矩阵覆盖(计算几何)问题
HDU1542漂浮法怎么这么犀利~~~ (2010-11-24 18:38:22)转载▼标签: 杂谈分类: acm题目与算法转载 2014-10-17 19:06:09 · 704 阅读 · 0 评论 -
【数据结构+线段树】连续型/离散型线段树
在线段树的通常用法中,线段树的节点是有2种不同的意义的,一种是离散型的:一个节点虽然描述的是一个区间[3, 9],但是实际上这样一个区间是{3, 4, 5, 6, 7, 8, 9}这样的意义。而另一种就是连续型的:一个节点如果描述的是一个区间[3, 9],它就确确实实描述的是在数轴上从3这个标记到9这个标记的这一段。那么有的小朋友可能就要问了,这两种不同的意义有什么区别呢?原创 2014-11-23 02:22:24 · 746 阅读 · 0 评论 -
hdu2665 可持续化线段树
分类: 数据结构 可持续化线段树。我是看这个看懂的http://hi.baidu.com/wyl8899/item/e00796a9cb2df73d020a4d68可持续化线段树,主要思想就是利用历史信息,减少时间和内存花销。比方有两棵线段树,但是他们只有一个节点信息不同。仔细一想,在这两颗线段树上,对应的 [l,r]节点 只有log(n)个节点不同。那么,除了不同的节转载 2014-10-06 21:46:57 · 758 阅读 · 0 评论 -
【区间查询_树状数组、线段树、次方数组】最大矩形
线段树(quanclass Solution {public: #define MAXN 0x7fffffff ////线段树 struct tree{ vector > arr; int n; void init(const vector &s){ n=s.size();原创 2014-08-02 15:44:21 · 774 阅读 · 1 评论