~~~~
线段树区间合并~
两种操作:
1、输出满足连续区间最左边的值。
2、更新一段连续区间。
题目链接:http://poj.org/problem?id=3667
~~~~
#include
#include
#include
#define INF 0x7fffffff
#define lson rt<<1,s,m
#define rson rt<<1|1,m+1,e
#de...
分类:
其他好文 时间:
2014-08-12 00:48:13
阅读次数:
166
AC得相当辛苦的一道题,似乎不难,但是需要想仔细,
开始的时候的错误思路----是受之前做过的区间最长连续子串影响http://blog.csdn.net/u011026968/article/details/38357157
区间合并的时候,我直接按照---如果(左子树的最大前缀和长度==左子树的长度 && 右子树的前缀和>0),就合并左前缀,这想法有两个错误:1、右子树的前缀和==0的时候...
分类:
其他好文 时间:
2014-08-10 18:45:10
阅读次数:
382
第一次写区间合并的题目,实在有点棘手,就顺着TK学长的思路敲了一编代码,但还是磕磕绊绊的,继续敲一道区间合并的题吧#include #define size 500010#define Lson (xb?a:b;}void buildtree(int rt,int L,int R){ flag...
分类:
其他好文 时间:
2014-08-08 17:45:26
阅读次数:
308
http://vjudge.net/problem/viewProblem.action?id=21557题目大意:每进行一次颜色改变都可以把一段区间内的黑石头变成白石头,白石头变成黑石头,最后问区间内黑石头连续的最大长度这里我们可以用rev[]作为lazy标记,每次进行改变,rev[]^1因为有黑...
分类:
其他好文 时间:
2014-08-08 09:33:45
阅读次数:
352
~~~~
第一次遇到线段树合并的题,又被律爷教做人。TAT.
~~~~
线段树的题意都很好理解吧。。
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1540
http://poj.org/problem?id=2892
~~~~
我的代码:200ms
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-08-07 23:12:05
阅读次数:
356
Problem Description:
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].
分析:按照要求将区间合并,首先将按照按起点排序,然后...
分类:
其他好文 时间:
2014-08-07 19:05:00
阅读次数:
193
线段树的区间合并入门题 1 #include 2 #include 3 using namespace std; 4 const int MAXN=50001=r){33 msum[rt]=lsum[rt]=rsum[rt]=c*(r-l+1);34 la[rt]...
分类:
其他好文 时间:
2014-08-07 18:21:30
阅读次数:
244
题目大意:有一排标号1-N的房间。操作一:询问是不是有连续长度为a的空房间,有的话住进最左边(占用a个房间)操作二:将[a,a+b-1]的房间清空(腾出b个房间)思路:记录每个区间中“靠左”“靠右”“中间”的空房间线段树操作:update:区间替换query:询问满足条件的最左端点题目链接:http...
分类:
其他好文 时间:
2014-08-07 18:05:59
阅读次数:
377
参照这个博客的做法:请戳 ,还有这个的讲解:
询问区间中满足条件的连续最长区间通常属于区间合并问题。
节点增加4个域,lx:从区间左边数连续空房间的数目。rx:从区间右边数连续空房间的数目。ax:该区间中连续空房间的总数目
col:记录该区间住人的状态,1表示全住满,0表示全空,-1表示有可以住的房间。
查询是否有连续空房间数目num的时候,先查询左边,当tree[v]...
分类:
其他好文 时间:
2014-08-04 17:39:57
阅读次数:
365
一共4种操作其中用线段树 区间合并,来维护连续空的长度,和找出那个位置。其他用vector维护即可#include#include#include#include#include #include#define lson ie;int lsum[N*4],rsum[N*4],msum[N*4];in...
分类:
其他好文 时间:
2014-08-03 23:01:46
阅读次数:
332