码迷,mamicode.com
首页 >  
搜索关键字:区间最小值    ( 110个结果
[Jobdu] 题目1544:数字序列区间最小值
题目描述:给定一个数字序列,查询任意给定区间内数字的最小值。输入:输入包含多组测试用例,每组测试用例的开头为一个整数n(1 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int n, t; 8 int l, r; 9...
分类:其他好文   时间:2014-12-03 20:52:53    阅读次数:210
uva1608(Non-boring sequences)
题意:如果一个序列的任意连续子序列中至少有一个只出现一次的元素,则称这个序列是不无聊的。判断一个长度为n(n<=200000)的序列是不是无聊的。 解法:搞个map记录每个数前一个数的位置,判断以每个数结尾的所有区间是否合法,其中用到线段树访问区间最小值。 代码:/****************************************************** * ...
分类:其他好文   时间:2014-11-28 01:06:50    阅读次数:274
uva 12299 RMQ with Shifts (简单线段树)
传送门:点击打开链接 题目大意: 对一个数组有2种操作。 1:左移,将给定的几个位置左移。 2:求区间最小值。 解题思路: 左移。。。呵呵 么见过。怎么搞。再读读题。然后惊讶的发现。Each operation is formatted as a string having no more than 30 characters 那就好办了。弄成单点更新就OK了!...
分类:其他好文   时间:2014-11-19 18:47:17    阅读次数:148
Find Minimum in Rotated Sorted Array
leetcode上的一道题 题意大致是:给定一个循环移位后的排序数组,求数组的最小值 抛开假设不谈,实际上就是一个求数组最小值的问题,可以o(n)扫一遍记录最小值;也相当于求[0,vec.size()-1]的区间最小值问题,可以转化成线段树树状数组处理 本问题的假设可以利用:数组是“片段”有序的,可...
分类:其他好文   时间:2014-10-20 14:56:04    阅读次数:143
POJ 3580 SuperMemo Splay
题目大意:维护一个序列,提供一些操作: 1.将一个区间加上一个值 2.翻转一个区间 3.将一个区间内的数字旋转T次(每次旋转区间内每个元素向右移一位,最右一个移动到最左面去) 4.在一个元素后面插入一个数 5.删除某个元素 6.查询区间最小值 写过BZOJ那几道Splay之后这题就变得非常水了。。。只是有几个要点需要注意: 1.操作3的T可能大于区间长度 还可能是负的 所以一定要取...
分类:其他好文   时间:2014-09-22 14:44:42    阅读次数:227
uva 11235 Frequent values(游程编码+区间最小值查询)
游程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”。游程编码因此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。 游程编码(Run Length Encoding , RLE) 例如:5555557777733322221111111 游程编码为:(5...
分类:其他好文   时间:2014-09-09 13:21:40    阅读次数:124
LCA问题
基本概念LCA:树上的最近公共祖先,对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。RMQ:区间最小值查询问题。对于长度为n的数列A,回答若干询问RMQ(A,i,j),返回数列A中下标在[i,j]里的最小值下标。朴素LCA算法求出...
分类:其他好文   时间:2014-08-08 17:36:16    阅读次数:226
UVA 12299 - RMQ with Shifts(线段树)
UVA 12299 - RMQ with Shifts 题目链接 题意:给定一个数组,两种操作,每次query操作输出区间最小值,每次shift操作把选中位置每个位置向左移一位,最左的到最后去 思路:线段树,shift操作中位置个数不会超过30个,那么直接当作点修改来做,那么就变成了简单的线段树了 代码: #include #include #include u...
分类:其他好文   时间:2014-07-30 20:56:34    阅读次数:331
POJ3264 Balanced Lineup RMQ 线段树
求区间内最大数和最小数的差,用两棵线段树,一个维护区间最大值,一个维护区间最小值。 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define QUADMEM...
分类:其他好文   时间:2014-07-29 22:00:02    阅读次数:259
HDU 1890 Robotic Sort
题意: 将一列数字排序 排序规则是 每次找到最小值的位置loc 将1~loc所有数字颠倒 然后删掉第一位 直到排好序 排序要求是稳定的 思路: 这题要做的是 寻找区间最小值位置 翻转区间 的操作 因此可以想到用splay 只需要每个节点记录一个small 就可以实现找到最小值位置 翻转区间操作就是将splay的超级头转到最上面使之成为根 再把loc转到根下面 这时根的右儿子的左儿子就是需要翻转的区间 用一个rev延迟更新 然后将loc转到最上面是指成为根 删掉根 如此循环...
分类:其他好文   时间:2014-07-17 10:53:28    阅读次数:217
110条   上一页 1 ... 9 10 11
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!