这个题目就是考察线段树的基本用法,我自己打了代码,其实就是照模板来的,大概思想已经弄懂了。用c++不能过,说我超时,就改成c的读入读出,这坑爹的过了。我最爱的c++,你肿么了。。。这是ac的代码:#include#include#includeusing namespace std; int n,m...
分类:
其他好文 时间:
2014-07-29 16:43:12
阅读次数:
265
UVA 11235 - Frequent values
题目链接
题意:给定一个升序数列,每次询问一个区间[l, r],求出其中相同数字最大的个数
思路:RMQ,由于是升序,所以数字大小相同的必然连在一块,先预处理出一共有多少段,每段包含多少个数字,和原数组中每个位置对应哪一段,最左边位置和最右边位置,然后每次询问的时候,可以把询问[L, R]的时候可以分成三段:
1、L到r[...
分类:
其他好文 时间:
2014-07-29 14:38:28
阅读次数:
192
敌兵布阵Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 42138Accepted Submission(s): 17826Problem Desc...
分类:
其他好文 时间:
2014-07-29 13:37:38
阅读次数:
217
UVA 1400 - "Ray, Pass me the dishes!"
题目链接
题意:给定一个序列,每次询问一个[L,R]区间,求出这个区间的最大连续子序列和
思路:线段树,每个节点维护3个值,最大连续子序列,最大连续前缀序列,最大连续后缀序列,那么每次pushup的时候,根据这3个序列去拼凑得到新的一个结点即可
代码:
#include
#include
...
分类:
其他好文 时间:
2014-07-29 13:22:57
阅读次数:
223
这道题和poj1151,hdu1542差不多,扫描线详细讲解http://blog.csdn.net/youngyangyang04/article/details/7787693但是这个是求重叠的面积,需要处理的细节还是挺多的,我有单独写了一个求和函数sum,因为放在insert里面求和会遇到很多问题啊,还有就是离散花的时候也会遇到各种问题,总之要细心啊,敲代码的时候别溜号,我就老六号...
分类:
其他好文 时间:
2014-07-29 12:57:07
阅读次数:
240
题意:初始1-n 值为1,有Q操作,每次可以把一段【l,r】 整段每个值变成 x,问最后的【1,n】总和。线段树成段更新(基础题)#include#include#include#include#include #define L(x) (x> 1; build(l, mid, L(i...
分类:
其他好文 时间:
2014-07-29 10:41:46
阅读次数:
249
扫描线 + 线段树, 线段树写的有点儿退化,随便了- -。。。 1 /* 2 ID:esxgx1 3 LANG:C++ 4 PROG:hdu1542 5 */ 6 #include 7 #include 8 #include 9 #include 10 using name...
分类:
其他好文 时间:
2014-07-29 10:27:48
阅读次数:
291
posters时间限制:1000ms | 内存限制:65535KB难度:6描述The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been pl...
分类:
其他好文 时间:
2014-07-28 23:46:54
阅读次数:
451
实验对象——2013 noip day1 T3本来可以直接用倍增lca解决。。但是我比较的扯淡。。所以用树链剖分来搞和普通点权不同的是,对于一颗树来说,每一个点的点权被定义为他的父亲到他的边权,所以与一般的树链剖分相比,最后统一到一条链上时,线段树维护的一边端点要加1。。其他的就没了。然后注意往上跳...
分类:
其他好文 时间:
2014-07-28 19:14:54
阅读次数:
616
BestCoder Round #2第一题TIANKENG’s restaurant...
分类:
其他好文 时间:
2014-07-28 16:28:13
阅读次数:
260