lkb 的小屋

start again. //小蒟蒻也有大梦想

[SMOJ1421]栅栏

题意:在平面直角坐标系中,有 N 条平行于 x 轴且端点 y 值分别为 1 至 n 的线段。要求从 (S,N) 开始,每次走到一条线段的左端点或右端点,然后可以往下跳,到达第一条能“接住”该点的线段(这里的接住定义为:设下跳点为 x,则 Ai≤x≤Bi 的线段可以“接住”该点),又选择走到新线段的...

2017-04-27 15:17:22

阅读数:178

评论数:0

[SMOJ1833]小球染色

有N个小球从左往右排成一行,小球编号1至N。刚开始所有小球都是0号颜色。现在有M个操作,每个操作是如下两种类型之一: 一、染色操作。格式是:1 a b c,表示的意义是把编号是a到b连续一段的小球全部染成c号颜色。1 <= a,b,c <= 200000。注意:被染色的小球会把之前的颜...

2017-04-27 15:04:03

阅读数:379

评论数:0

[SMOJ1700]数组排序

你的任务:对于给定的数组,上述算法每个步骤需要交换元素的次数。

2017-03-14 14:08:36

阅读数:99

评论数:0

poj2823 -- Sliding Window

题目大意:有一个长度为n(n≤10^6)的数列,依次查询区间[1,k],[2,k+1],[3,k+2]……[n-k+1,n]的最值。显然,每次直接求k个数的最值,时间复杂度达到O(n*k),会TLE。所以,我们要换位思考。其实我们可以很容易地发现:第一次查询时,建立一棵范围为[1,k]的胜者树即可...

2016-08-07 11:08:56

阅读数:221

评论数:0

poj3264 -- Balanced Lineup

题目大意:给定n(1 ≤ N ≤ 50,000)个数,每次求指定区间内的最大值减去最小值的差。分析:这道题目实际上就是一道简单RMQ,可以用st算法解决,也可以用胜者树。st算法代码如下:# include # define max(a,b) a>b?a:b # define min(a...

2016-08-07 11:08:53

阅读数:221

评论数:0

Winner Tree-胜者树

胜者树是一种数据结构,特点如下:它是一棵完全二叉树。也就是说,除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。这棵树的所有叶子结点是原始数据(见下文样例)。对于所有非叶子结点,取两个儿子中更优秀的值,就是父亲结点的值,故名胜者树。由于胜者树是完全二叉树,因此如果把根结...

2016-08-07 11:08:50

阅读数:859

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭