题目来源:URAL 1019. Line Painting
题意:求最长的一段全部为白色的区间
思路:线段树成段更新 区间合并 离散化 这里对应的是一段区间 所以每次不是m+1 而是 l m 和 m r 了 另外我加上了0 和 10^9 这两个点
每一段区间(l, r)我记录的是l和r之间有多少条线段
#include
#include
#include
using namesp...
分类:
其他好文 时间:
2014-08-25 17:12:12
阅读次数:
229
题意:
初始给出1-n的序列,有两个操作:
D l r,将[l,r]区间的每个数都复制一个;
Q l r,询问[l,r]区间内最多的相同数字的个数。
分析:
显然的线段树,但是这个序列的长度会因为D操作变化,即线段长度变化。通过观察发现这个序列永远是sort过的,那么我们只要维护每个数的数量,操作前找到l和r的位置,然后再单点更新、成段更新,成段询问,线段树的综合应用。...
分类:
其他好文 时间:
2014-08-24 12:59:22
阅读次数:
330
题意:
背景真是令人感动,我都看得哭了......
前面的自己看吧。
给出星星的坐标和亮度,给定一个矩形(长/宽),求框住的星星亮度和的最大值,恰好在边上的不算。
分析:
一个月前在上海邀请赛就有这样的题,当时我线段树只会成段更新,所以那道题目也没碰...
我们这样想,每个星星能影响的范围就是给定矩形的面积,为方便起见,不妨设星星的位置为矩形的左下角。
那么在这个范围内的点全部加上它的亮度,最终我们就是求该平面内的最大值。
这样的话就要用到二维线段树...可是有10k颗星星...这要开多大的数组啊........
A Simple Problem with Integers
Time Limit: 5000MS
Memory Limit: 131072K
Total Submissions: 62228
Accepted: 19058
Case Time Limit: 2000MS
Description
You have N i...
分类:
其他好文 时间:
2014-08-20 12:38:42
阅读次数:
252
题意很简单:1-n个钩子初始价值是1,然后题目给出Q个操作,x y z,将x->y的钩子价值改为z,最后输出n个钩子的总价值。
知识点:线段树的成段更新。
lazy操作,在代码中的主要实现就是pudown操作了。当你要用的时候,就更新值,不然就仅仅标记它。
#include
#include
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-19 09:24:44
阅读次数:
187
http://acm.hdu.edu.cn/showproblem.php?pid=3397
线段树很好的题。涉及到的知识点:lazy操作,区间合并。
有五种操作:
0 a b 将[a,b]变为0
1 a b 将[a,b]变为1
2 a b 将[a,b]取反
3 a b 输出[a,b]的1的个数
4 a b 输出[a,b]内最长的连续1的个数
对区间的操作与poj 3225...
分类:
其他好文 时间:
2014-08-18 20:34:52
阅读次数:
362
A Simple Problem with IntegersCrawling in process...
Crawling failed
Time Limit:5000MS
Memory Limit:131072KB
64bit IO Format:%I64d & %I64u
Submit
Status
Practice
POJ 3468
D...
分类:
其他好文 时间:
2014-08-18 18:39:12
阅读次数:
175
解题报告
题意:
对线段染色,询问线段区间的颜色种数。
思路:
本来直接在线段树上染色,lz标记颜色。每次查询的话访问线段树,求出颜色种数。结果超时了,最坏的情况下,染色可以染到叶子节点。
换成存下区间的颜色种数,这样每次查询就不用找到叶子节点了,用按位或来处理颜色种数。
Count Color
Time Limit: 1000MS
Memory Lim...
分类:
其他好文 时间:
2014-08-12 22:17:24
阅读次数:
376
~~~~
一直MLE,才发现要写离散化操作。其他就是线段树的成段更新(每次用不同标记去更新区间),最后统计下有多少种标记就OK了。
题目链接:http://poj.org/problem?id=2528
大牛写的很详细,请戳:http://blog.csdn.net/metalseed/article/details/8041334
~~~~
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-11 21:34:43
阅读次数:
268
解题报告
题意:
一根长度8000的线段上染色,求染完之后,每个颜色在线段上有多少个间断的区间。
思路:
区间问题用线段树,成段的更新区间,最后把所有的区间下压到叶子结点,统计叶子结点的颜色。
#include
#include
#include
using namespace std;
int lz[32000],_hash[10000],color[10000],cnt;
v...
分类:
其他好文 时间:
2014-08-11 06:19:21
阅读次数:
258