RMQ 线段树 ST
文章平均质量分 57
liujc_
这个作者很懒,什么都没留下…
展开
-
线段树 入门总结 hdu 1754 1161
单点更新的线段树。包括区间最值问题,区间之和问题。 线段树擅长处理一个区间之内的查询与更新。 线段树学习: 线段树上的每一个节点都维护一段区间,根节点维护的是整个区间,一个父节点的左节点维护的是将父亲的区间二等分之后的左边那个区间,右节点同理。 下面都以区间最值问题为例。可以在O(log n)的复杂度下完成查询某一个区间的最值,或者修改某一个值。 主要有三个操作 1)建树。2)查询。3)更原创 2015-08-07 22:37:30 · 523 阅读 · 0 评论 -
codeforces 482 B Interesting Array 线段树区间更新
题目链接:http://codeforces.com/problemset/problem/482/B 题意: 给定n,表示序列的长度,给m个操作,每个操作有l,r,p, 表示al~ar 按位与起来结果是p。对于这m个操作能不能找出一个满足的序列长度为n。如果可以输出yes,并输出序列。否则no。 思路: 运用线段树维护每个区间的&结果。 假设已经有第一个操作对一个区间进行了,那么现在这个原创 2015-09-06 11:49:11 · 551 阅读 · 0 评论 -
hdu 2795 单点更新
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意: 有一个公告栏,h*m的,给定n个操作,对于每一个操作给定一个数wi,表示有一个通知的大小是1*wi的,每次对于这种操作将这个通知放在尽可能上面尽可能左边的位置中去。 思路: 有h行,将每一行初始为m,表示还有m个空位可以放,那么运用一棵线段树来记录下,行之间的区间最大值,就是可以放下的原创 2015-10-09 21:04:27 · 270 阅读 · 0 评论 -
hdu 1698 线段树 区间更新
感觉线段树要好好练一练。。。跟着大牛的pdf吧。。 http://acm.hdu.edu.cn/showproblem.php?pid=1698 区间更新主要运用的是一个lazy操作,就是说每次更新的时候不要更新到底,运用lazy标志将更新延迟到下次更新或者是查询的时候。 题意: 每次可以修改一段区间的值,最后查询整个的和。(所以查询函数都可以不写了。直接查根节点。。)#include <i原创 2015-10-09 13:36:03 · 316 阅读 · 0 评论 -
RMQ问题 ST 算法总结 poj3264
sparse table algorithm 简称ST算法,可以用于求解RMQ问题(range minimum query) ST算法是一个在线算法,在线算法即对于每一个查询可以马上给出解答。但需要较长的时间来进行预处理。 在O(nlogn)的时间内进行预处理,而可以在O(1)的时间内解答每个询问。 预处理: ST算法预处理利用的是dp的思想。 定义状态dp[i][j] 表示的是从第i个原创 2016-03-12 15:08:03 · 331 阅读 · 0 评论