数据结构-线段树
gungnir__
Fade to black.
展开
-
HDU 5493 Queue(2015 ACM/ICPC Asia Regional Hefei Online )
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5493【解题报告】 比赛的时候并没有意识到这道水题的本质TAT,一度在想是不是要用2-SAT做,真是too young too simple. 这道题目有一个关键点就是,什么样的数据会impossible呢?当且仅当N<i+K//i为一个人在n个人中的位置(预先排序),k为比他高的人数为什么其他情原创 2015-09-30 23:04:15 · 558 阅读 · 0 评论 -
hdu 1542 矩形面积并(扫描线+线段树)
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14795【解题报告】 七月的时候做过扫描线线段树,那个时候觉得好难TAT…. 当然现在看是很基础的题目了。 这道题根本上还是一个扫描线,不过由于是二维状态下的扫描,所以裸的扫描线是不可取的。因为那意味着O(n^2)的操作。(想想为什么不像一维的扫描线一原创 2015-12-16 07:46:45 · 1547 阅读 · 0 评论 -
POJ 2828 buy tickets 线段树
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=10345【解题报告】 题意: 每个人有一个value值 第i个人来了,站在编号为posi的人的后面 售票处编号为0 输出价值序列 思路: 正着想,是一个插队的问题,由于一个区间都需要更新,复原创 2015-12-16 06:41:20 · 322 阅读 · 0 评论 -
HDU 3016 线段树单点更新+DP
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3016【解题报告】 这道题目把线段树和DP结合起来了,所以并没有思路。参考了一篇题解,觉得讲的非常好: http://www.cnblogs.com/scau20110726/archive/2013/05/11/3073398.html –Titanium这里面有一原创 2015-12-15 01:58:46 · 428 阅读 · 0 评论 -
hdu 1540 单点修改+区间合并
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1540【解题报告】 题目大意: 给长度为N的序列,有三种操作: 1.删除某个点a 2.查询包括点a在内的最长连续区间 3.恢复最后一个被删除的点 这道题目和hotel很像,不同的是,hotel区间更新,这里单点更新;在区间查询上,也不尽相同。 在我做这道题目的过程中,唯一的难点恰恰在如原创 2015-12-14 06:54:02 · 269 阅读 · 0 评论 -
POJ 2528 线段树离散化
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14608[解题报告】 题目大意: 给定长度区间(L,R)//L,R<=1e7, 给出N个区间操作,把li-ri区间贴上海报 //N《=1e5 求:有多少张海报没有被完全覆盖这道题目的关键在于,直接开1e7的线段树一定会MLE,但我们观察到一共只有不超过1e原创 2015-12-14 23:13:11 · 742 阅读 · 0 评论 -
POJ 3667 线段树区间合并
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=10354【解题报告】 题目大意:长度为N的空位序列,有两种操作: 1.把连续的a个位置填满,如果有多种情况可以满足,选择最左边的。 2.把从a开始连续的b个位置清空这道题目非常类似动态区间最大和的解决方法。对于线段树的节点我们维护三个量: max_pre表原创 2015-12-14 03:55:19 · 242 阅读 · 0 评论 -
hdu 1698 线段树区间修改
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1698【解题报告】 区间修改的模板题目。需要打一个set标记,表示区间(L,R)被修改为v. 在这道题目里。一开始所有结点被赋值为1,之后给Q个修改,把(L,R)修改为1,2,或3.最后求区间和。 我的写法采用了刘汝佳在训练指南中使用的写法。【参考代码】#include<iostream>#原创 2015-12-10 04:49:31 · 332 阅读 · 0 评论 -
POJ 3468 线段树区间更新
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14607【解题报告】 区间更新模板题。 操作: (L,R)区间增加V 查询:(L,R)的区间和【参考代码】#include<iostream>#include<cstdio>#include<cstring>using namespace std;t原创 2015-12-09 13:51:52 · 307 阅读 · 0 评论 -
POJ 3928 线段树 单点更新+区间查询
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19613【解题报告】 在《训练指南》上看到的这道题目,原题出在树状数组下,考虑到大部分树状数组可以做的题目线段树都可以做,虽然效率低一些,代码长一些,但好处在于维护更方便,扩展性也更强,所以还是用线段树来做这道题目。可能是最近手生,虽然题目很裸,仍然调了一个多小原创 2015-12-08 21:09:33 · 331 阅读 · 0 评论 -
UVa 1400(LA 3938)动态最大连续和
【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36216【解题报告】 刘汝佳的《训练指南》里,我觉得这道题目讲的不够详细(并且书上貌似有一点印刷错误?)。在网上找了很多题解,不过觉得代码写的很丑。直到我看到了这篇题解,觉得代码写的非常漂亮,就虚心学习了。 http://blog.c原创 2015-12-05 00:37:40 · 332 阅读 · 0 评论