数据结构-线段树
wlxsq
美丽的风景总是在远方
展开
-
HDU-3333-Turing Tree-离散化思想
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333这个题目很好!!!真的很好!!!思维能力的锻炼!!! 题目意思:给你个数组,然后多次查询,每次查询一个区间,叫你求这个区间内所有不重复的数字之后;数据量很大,想用暴力是不可能的; 思路:线段树+离线处理;也就是说原创 2015-07-16 18:09:46 · 941 阅读 · 2 评论 -
POJ3667-Hotel-线段树区间合并(模板)
题目链接:http://poj.org/problem?id=3667线段树真是牛逼啊,这么多的功能。。。这是个线段树维护区间合并的问题;我们要维护一个区间的从左端点开始的最长区间,右端点的最长区间,以及该区间的最长区间,有了这些信息我们就可以轻易的合并子节点的信息,简单更新了;好吧,我就不详细介绍了,就贴一个我学习的博客吧,链接:http://blog.csdn.net/piaoyi原创 2015-08-06 09:52:08 · 2358 阅读 · 0 评论 -
HDU-5172-GTY's gay friends-线段树单点更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5172题意:给出n个数,m个询问,问你[l,r]区间内是否为1到r-l+1的全排列。 大小很容易我们通过记录前缀和很容易求出来,但是关键是去重。 考虑线段树做法,我们记录每个点的靠左最近的相同元素的位置,然后求 整个区间的最大值(即最大的前驱)如果小于l,即满足条件,输出YES。好吧,其实这个题原创 2015-08-04 19:32:31 · 976 阅读 · 0 评论 -
HDU-1556-Color the ball-线段树+区间更新+单点查询
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556好吧,一道这么简单的题结果因为我的粗心卡了一下午。。。orz....#include#include#include#include#include#include#include#include#include#include#include#define LL l原创 2015-08-03 16:57:40 · 491 阅读 · 0 评论 -
HDU-1542-Atlantis-线段树+面积并(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542看了很短网上的博客,都写得很不错,我就是学着这篇博客写的,链接:http://www.cnblogs.com/ka200812/archive/2011/11/13/2247064.html但是我觉得他们写的都不太详细,缺少步骤,像我这种菜鸟,就花了一上午,才搞定这一题;对于新学,我觉原创 2015-08-03 13:12:34 · 2692 阅读 · 5 评论 -
POJ-3264-Balanced Lineup-单点更新
题目链接:http://poj.org/problem?id=3264这是一个单点更新的模板题,就不详细解释了,HDU敌兵布阵那题我有详细解释;链接:http://blog.csdn.net/wlxsq/article/details/46897219#include#include#include#include#include#include#include#includ原创 2015-07-23 08:53:43 · 807 阅读 · 0 评论 -
HDU-1255-覆盖的面积-线段树求面积并(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255好吧,这题和HDU1542几乎完全一样,链接:http://blog.csdn.net/wlxsq/article/details/47254571我有详细讲;这个题目唯一的不同就是这是个求重合的面积,而HDU1542是求并面积,如果明白了1542题目的原理,我想很轻松的就可以搞定这个题目原创 2015-08-03 13:49:37 · 2993 阅读 · 0 评论 -
POJ2104-K-th Number-求区间第K大数(暴力or归并树or划分树)
题目链接:http://poj.org/problem?id=2104题目意思很简单,就是给你一个序列,查询某区间第K大的数;方法1:时间复杂度O(N*M);不支持更新操作,代码简单;利用结构体排序,保留原数据的顺序。#include #include #include #define N 100000using namespace std;/* 这个思路很好;时原创 2015-08-10 21:01:39 · 860 阅读 · 0 评论 -
HDU-1754-I Hate It-单点更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754这是又是一道线段树单点更新的模板题;之前有详细的解释过单点更新,这里就不说了,直接看代码吧。#include#include#include#include#include#include#include#include#include#define LL long lo原创 2015-07-18 17:34:56 · 524 阅读 · 0 评论 -
HDU-1394-Minimum Inversion Number-线段树+逆序数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394用线段数求逆序数,这个题目会线段树那就很简单,也没有用到离散化。就是每次输入一个数,然后再这个数的节点加一,表示有一个这样的数,每次查询一下,表示询问这个数前面有几个数比他大,i表示是第几个数,然后我们统计出这个数前面有几个比这个数小的,减一下,便得到这个数前面有几个比他大的。#inc原创 2015-07-29 14:46:43 · 583 阅读 · 0 评论 -
HDU-2795-Billboard-线段树单点更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795好吧,写了这么多单点更新的题目,这样的就很简单了,不过我第一次用这样的风格写代码;向这种简短风格靠齐;不过题目给的数据感觉还挺坑的,还好我机智的看了Discuss。。。。哈哈,仰天长笑。。。。#include#include#include#include#include#i原创 2015-07-30 10:23:48 · 978 阅读 · 0 评论 -
HDU-1698-Just a Hook-区间更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698好吧,这个题目我起初想试试我不用延迟更新能不能过,嘿嘿,我还是太天真了。。。2000ms毫不客气的超时了,果然延迟更新大法好;这里我就不再详细的介绍延迟更新了,不懂的可以看我前面的博文:http://blog.csdn.net/wlxsq/article/details/46910485#原创 2015-07-30 09:07:42 · 905 阅读 · 0 评论 -
HDU1823-Luck and Love-二维线段树(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1823好吧,给这题跪了。。。orz....一道很基础的二维线段树的模板题;但是细节很多;尤其注意了;swap函数会丢失精度,用double就等着WA到死吧。。。orz...还有就是给你的区间不一定是按顺序的,得加一个判断;真的是坑。。。orz....#include#inclu原创 2015-08-10 19:56:51 · 2888 阅读 · 0 评论 -
HDU-1166-敌兵布阵-单点更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166这个题目是杭电1166的敌兵布阵,一道线段树的模板题;嘿嘿,其实今天刚学的线段树,这也是我第一次写线段树,所以我的代码写了详细的注释;欢迎指正;#include#include#include#include#include#include#include#include原创 2015-07-15 18:50:29 · 1334 阅读 · 0 评论 -
HDU-3074-Multiply game-单点更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3074这个也是个线段树的单点更新的模板题;要是不懂的话可以去看看我写的这篇单点更新的,我的HDU1166敌兵布阵代码有详解;链接:http://blog.csdn.net/wlxsq/article/details/46897219#include#include#include#in原创 2015-07-16 19:23:51 · 875 阅读 · 0 评论 -
HDU-3577-Fast Arrangement-区间更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3577好吧,我觉得这道题有必要说一下题目意思;毕竟我刚开始是没有看太懂,原谅我这个英语渣渣。。。ORZ.....题意:输入一个t,表示有t组测试数据; 接下来一行,输入两个数,k,m,其中k表示这个辆车最多可以坐这么多人,m表示有m次询问能否上车; 每原创 2015-07-16 13:29:31 · 1388 阅读 · 0 评论 -
HDU3308-LCIS-线段树区间合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308题目大意:给n个数,两种操作 1:U a,b 更新第a个为b (从0开始) 2:Q a,b 查询 a,b之间LCIS(最长连续递增子序列)的长度。其实也可以说是个模板题;三个变量保存数据ls,rs,ms分原创 2015-08-10 13:39:47 · 690 阅读 · 0 评论 -
POJ-2585-Mayor's posters-成段更新+(hash)离散化思想
题目链接:http://poj.org/problem?id=2528#include#include#include#include#include#include#include#include#include#include#include#define LL long longusing namespace std;// 照着题目数组开10005,给报RE,原创 2015-07-27 23:31:55 · 743 阅读 · 0 评论 -
HDU1540-Tunnel Warfare-线段树区间合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1540这个题目是个区间合并的模板题,但是有一点不同的是分两步查询思路很清晰;这里有一个博客写的不错,我就不再赘述了;链接:http://blog.csdn.net/xingyeyongheng/article/details/11619461#include#include#includ原创 2015-08-06 13:36:03 · 899 阅读 · 0 评论