随笔分类 -  线段树

1 2 下一页

Vases and Flowers
摘要:hdu4614:http://acm.hdu.edu.cn/showproblem.php?pid=4614题意:给你n个花瓶,然后有两种操作:1从a开始选择b个花瓶,放进花,输出左端点,右端点2把a到b之间的花瓶中的花拿走,输出拿走的花的数目。题解:一看数据范围就知道是线段树,sum维护区间空的花... 阅读全文

posted @ 2014-10-01 16:02 天依蓝 阅读(319) 评论(0) 推荐(0)

Frequent values
摘要:poj3368:http://poj.org/problem?id=3368题意:给你一个非下降的序列,然后查询[l,r]内出现最多数字的次数。题解:首先,因为序列是非下降的,所以相同的数字出现在在一起。所以,可以定义一个数组a[i]=k,表示第i个数出现的次数,另外还要记录几个东西,ll[i],r... 阅读全文

posted @ 2014-07-26 20:51 天依蓝 阅读(222) 评论(0) 推荐(0)

The Child and Sequence
摘要:Codeforces Round #250 (Div. 1)D:http://codeforces.com/problemset/problem/438/D题意:给你一个序列,然后有3种操作 1x y.表示查询[x,y]之间的区间和,2 x y z表示把[x y]内的数%z,3x y,表示把第x个数... 阅读全文

posted @ 2014-07-26 14:20 天依蓝 阅读(306) 评论(0) 推荐(0)

Matrix(线段树版)
摘要:poj2155:http://poj.org/problem?id=2155题意;同上一遍随笔。题解:这里用二维线段树打了一发。第一次学习别人的代码。才学的。这种树套树的程序,确实很费脑子,一不小心就会晕了,而且这次是用省空间的方法写的。 1 #include 2 #include 3 #inclu... 阅读全文

posted @ 2014-07-22 20:17 天依蓝 阅读(164) 评论(0) 推荐(0)

小明系列问题——小明序列
摘要:hdu4521:http://acm.hdu.edu.cn/showproblem.php?pid=4521题解:给你一个序列,然后让你找一个最长上升子序列,但是这个最长上升子序列的数在原来序列的间隔不少于d。题解:如果没有d的要求就是一个求最长上升子序列。这里用线段树可以来优化。以数的值来建树。维... 阅读全文

posted @ 2014-07-18 20:34 天依蓝 阅读(244) 评论(0) 推荐(0)

DZY Loves Colors
摘要:CF #446C:http://codeforces.com/problemset/problem/444/C题意:给你n个数,大小从1到n,然后又两种操作,1 a b c表示把区间a b 更新为c,那么每个数与之前的数有一个改变量|c-ai|, 2 a b 表示查询a b 之间的改变量。题解:正解... 阅读全文

posted @ 2014-07-18 13:36 天依蓝 阅读(395) 评论(0) 推荐(0)

Points
摘要:CF#19D:http://codeforces.com/contest/19/problem/D题意:给你一个点,add x,y表示向集合中添加一个点,remove x,y,表示删除集合中的一个点,find x,y,表示查询比x,y,严格大的点,没有输出-1.题解;这一题是一道好题,我从中学到了很... 阅读全文

posted @ 2014-07-17 15:00 天依蓝 阅读(233) 评论(0) 推荐(0)

SKYLINE
摘要:uvalive4108:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2109题意:按照顺序建造一些矩形的房屋,房屋是二维的,每个房屋起点,... 阅读全文

posted @ 2014-07-13 19:27 天依蓝 阅读(236) 评论(0) 推荐(0)

Permutation
摘要:uva11525:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2520题意:求1,2,3,4,.....k个数所形成的全排列中的第n个。其中n的是由计算出... 阅读全文

posted @ 2014-07-13 11:34 天依蓝 阅读(199) 评论(0) 推荐(0)

RMQ with Shifts
摘要:uva12299:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3720题意:给你n个数,然后有两个操做,shift从左到右一次交换,即a1和a2交换,完了... 阅读全文

posted @ 2014-07-13 08:08 天依蓝 阅读(206) 评论(0) 推荐(0)

Fast Matrix Operations
摘要:uva11992:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3143题意:给你n*m的矩阵初始化的时候矩阵里面的元素全部是0,对于这个矩阵有3中操作。1... 阅读全文

posted @ 2014-07-12 22:06 天依蓝 阅读(291) 评论(0) 推荐(0)

"Ray, Pass me the dishes!"
摘要:uvaLive3938:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1939题意:给你n个数,然后给你一个区间,让你查询这个区间内最大和连... 阅读全文

posted @ 2014-07-12 16:19 天依蓝 阅读(183) 评论(0) 推荐(0)

Cows
摘要:poj2481:http://poj.org/problem?id=2481题意:有N头牛,每只牛有一个测试值[S,E],如果对于牛i和牛j来说,它们的测验值满足下面的条件则证明牛i比牛j强壮:Si Ej - Sj。现在已知每一头牛的测验值,要求输出每头牛有几头牛比其强壮解题:先按s值排个序(由小... 阅读全文

posted @ 2014-05-21 20:02 天依蓝 阅读(294) 评论(0) 推荐(0)

Coder
摘要:hdu4288:http://acm.hdu.edu.cn/showproblem.php?pid=4288题意:有三种类型的操作,(1)."add x",表示往集合里添加数x。(2).“del x”表示将集合中数x删除。(3).“sum”求出从小到大排列的集合中下标模5为3的数的和。集合中的数都是... 阅读全文

posted @ 2014-05-21 14:51 天依蓝 阅读(216) 评论(0) 推荐(0)

Transformation
摘要:hdu4578:http://acm.hdu.edu.cn/showproblem.php?pid=4578 题意:给一个序列 {an},有 4 种操作。1、将一段区间的数全部加 c。2、将一段区间的数全部乘 c。3、将一段区间的数全部等于 c。4、询问一段区间的和(和、平方和、立方和)。解题思路:... 阅读全文

posted @ 2014-05-20 20:00 天依蓝 阅读(139) 评论(0) 推荐(0)

Tunnel Warfare
摘要:hdu1540:http://acm.hdu.edu.cn/showproblem.php?pid=1540题意:给你一列村庄,每个村庄给一个标号,1--n,然后毁掉一些村庄,或者重建几个村庄,重建是按照毁掉的反序建的,也就是说,最新建的是最后毁掉的那个村庄。在这些过程中会有一些查询,查询pos这个村庄所在的最长的连续村庄的个数。题解:很容易想到用线段树来维护,维护区间的最大左连续和最大右连续值,毁掉就是单点更新操作,同时把毁掉的村庄一次放入队列中,重建的时候只要从队列中取出即可。唯一难的是查询操作。一开始,我没有想到如何查询。最后只好查询了别人的代码。分几种情况, 如果pos在该区间的左连续 阅读全文

posted @ 2013-11-21 19:02 天依蓝 阅读(325) 评论(0) 推荐(0)

LCIS
摘要:hdu3308:http://acm.hdu.edu.cn/showproblem.php?pid=3308题意:给你 100000个数列,然后更新某个点,然后查询区间内最长连续上升数列的长度,用线段树来维护区间的最大连续值,左连续最大值,右连续最大值,区间的左端点,区间的右端点。对于更新,父节点的最大值,首先求左儿子的最大值,右儿子的最大值,比较,选出大者,如果左儿子的又端点小于右儿子的左端点,则要考虑左儿子的右连续+右儿子的左连续是否大于刚才的那个值,选出大的更新。对于父节点的左连续,如果左儿子的左连续等于区间长度则父节点的左连续等于左儿子的左连续+右儿子的左连续,同理更新父节点的右连续。 阅读全文

posted @ 2013-11-19 21:38 天依蓝 阅读(226) 评论(0) 推荐(0)

Hotel
摘要:poj3667:http://poj.org/problem?id=3667题目大意:Hotel有N(1 ≤ N ≤ 50,000)间rooms,并且所有的rooms都是连续排列在同一边,groups需要check in 房间,要求房间的编号为连续的r..r+Di-1并且r是最小的;visitors同样可能check out,并且他们每次check out都是编号为Xi ..Xi +Di-1 (1 ≤ Xi ≤ N-Di+1)的房间,题目的输入有两种样式: 1 a : groups需要check in a间编号连续的房间 2 a b : visitors check out 房间,其中房间编号 阅读全文

posted @ 2013-11-19 13:42 天依蓝 阅读(163) 评论(0) 推荐(0)

Billboard
摘要:hdu2795:http://acm.hdu.edu.cn/showproblem.php?pid=2795题意:给一个h*w的公告牌,h是高度,w是宽度,一个单位高度1为一行,然后会有一些公告贴上去,公告是1*wi大小的长纸条,优先贴在最上面并且最左边的位置,如果没有空间贴得下,就输出-1,可以的话,就输出所贴的位置(第几行)。题解:用线段树来维护。把高度看成每一个节点,即每一行看成线段树的一个节点,而w看成底层节点的值,然后每个节点维护区间的最大值。由于h会达到10的9次方,但是只有200000的海报。随意当h大于200000时候,只需建立n==200000的树。 1 #include . 阅读全文

posted @ 2013-11-18 18:49 天依蓝 阅读(244) 评论(0) 推荐(0)

Minimum Inversion Number
摘要:hdu1394:http://acm.hdu.edu.cn/showproblem.php?pid=1394题意描述:给你一个有0--n-1数字组成的序列,然后进行这样的操作,每次将最前面一个元素放到最后面去会得到一个序列,那么这样就形成了n个序列,那么每个序列都有一个逆数,找出其中最小的一个输出!题解:求最小逆序数的时候有个巧妙的想法,当把x放入数组的后面,此时的逆序数应该为x没放入最后面之前的逆序总数加上(n-x)再减去(x-1);sum = sum+(n-x[i])-(x[i]-1)。求逆序数:此题方法1:暴收 1 #include 2 #include 3 #include 4 #in 阅读全文

posted @ 2013-11-17 15:22 天依蓝 阅读(122) 评论(0) 推荐(0)

1 2 下一页

导航