Mike is the president of country What-The-Fatherland. There arenbears living in this country besides Mike. All of them are standing in a line and they...
分类:
其他好文 时间:
2015-10-24 13:02:06
阅读次数:
246
1012: [JSOI2008]最大数maxnumberTime Limit:3 SecMemory Limit:162 MBSubmit:6255Solved:2676[Submit][Status][Discuss]Description现在请求你维护一个数列,要求提供以下两种操作: 1、 查询...
分类:
其他好文 时间:
2015-10-11 22:56:43
阅读次数:
225
单调栈为栈结构,可O(N)求出数组中每个元素向两边所能扩展到的最大长度,满足扩展到的每个元素均大于(或小于)此元素。单调栈遵循严格递增或递减。以严格递减为例。数组L[i]、R[i]记录i点最多能扩展到的左端点与右端点;在元素x入栈时,将栈顶小于x的元素弹出,并令R[top]=x的位置令L(x的位置)...
分类:
其他好文 时间:
2015-10-07 22:46:21
阅读次数:
183
题目链接:http://poj.org/problem?id=2559求所给柱状图内面积最大的矩形。用了一个叫做单调栈的玩意,思路很像DP,就是每一个柱看作一个结构体,保存当前柱的高度以及它之前(左侧)所能到达的最大横坐标距离,且只有满足条件的时候才会入栈。 1 #include 2 #inclu....
分类:
其他好文 时间:
2015-10-06 15:23:41
阅读次数:
126
题目大意给出一个柱形图中柱子的高度,每个柱子的宽度为1,柱子相邻。求出柱形图中可能形成的矩形的最大面积。题目分析以每个柱子(高度为h[i])为中心,向两边延展求出以该h[i]为高度的矩形的最大宽度w[i]。h[i]*w[i]得到以该柱子为中心的最大矩形面积,遍历一遍之后取最大值即可。关键在于求出以柱...
分类:
其他好文 时间:
2015-09-24 19:11:12
阅读次数:
143
最大值和最小值的问题是独立且相似的,考虑最大值:考虑离线,设ask(i,l,r)为以1到i为右端点时左端点在区间[l,r]内的区间最大值的和。从1到n枚举右端点,假设现在是i,那么可以通过单调栈求出最小的j使得[j,i]内a[i]是最大值。然后左端点在[j,i]区间内的所有区间最大值都应当变为a[i...
分类:
其他好文 时间:
2015-09-21 01:15:42
阅读次数:
187
还是单调栈,维护递减即可,在进行计算,注意要保存前一个比当前数大的数之前有几个比它小。 1 var n,i,j,num,now,tem:longint; 2 ans:int64; 3 stack:array[0..1000001] of longint; 4 h,l:array[0..1000001...
分类:
其他好文 时间:
2015-09-17 19:32:24
阅读次数:
144
1.贪心,递推,基础DP(背包,区间DP,状态压缩DP(去年出了不少于2道铜牌题,看着办))2.搜索(BFS,DFS,A*,IDA*)3.单调队列、单调栈的思想,倍增算法(ST表) (重点左边3个东西在DP优化上的应用,简单讲一下平行四边形法则、斜率优化)4.线段树,树状数组5.树(包括并查集,生成...
分类:
编程语言 时间:
2015-09-10 00:29:17
阅读次数:
312
题目传送门题意:紧贴x轴有一些挨着的矩形,给出每个矩形的长宽,问能组成的最大矩形面积为多少分析:用堆栈来维护高度递增的矩形,遇到高度小的,弹出顶部矩形直到符合递增,顺便计算矩形面积,且将弹出的宽度都累积到当前的矩形中,这样最后再扫描一遍,算面积很方便,这题应该算是POJ 2559的强化版了收获:st...
分类:
其他好文 时间:
2015-09-09 21:25:02
阅读次数:
237
DescriptionOnce upon a time Matt went to a small town. The town was so small and narrow that he can regard the town as a pivot. There were some skyscr...
分类:
其他好文 时间:
2015-09-07 19:34:20
阅读次数:
449