描述:求一个数组的某一个数,向左右两边延申的最大区间,比如1276453.对于4可以向左延申到7,向右延申到5,也就是4在这个区间内是最小值。 适用:对于一个数组,如果对于全部区间去求解,需要n*(n-1)/2个区间,所以问题的复杂度至少是N的平方,如果换一个角度,所有的区间都是以某一个数字作为最小 ...
分类:
其他好文 时间:
2018-08-19 15:47:17
阅读次数:
111
类型:单调栈 传送门:>Here< 题意:给出一个$01$矩阵,求$01$相间的最大子正方形和最大子矩阵 解题思路 首先考虑如果要求的不是$01$相间而是全$1$的怎么做?那就和上一题一样了,预处理$p[i][j]$。特判正方形(取较短边) 那么只需要把问题转化为全$1$矩阵即可。思考黑白相间矩阵的 ...
分类:
其他好文 时间:
2018-08-18 17:53:59
阅读次数:
155
日子没法过了呀!QAQ,啥玩意啊!以前写过线段树寻找区间最长连续子序列,这个不连续,觉得可以搞搞,然后思想误区了,直接拿线段树维护的区间,然后,,,,维护了整场比赛200多行的线段树最后都没搞出来,自闭了呀!比赛后想了想觉得为什么要用线段树,维护一下更改数的前半段和后半段不就完了吗。。。。。然后更自 ...
分类:
其他好文 时间:
2018-08-16 13:34:25
阅读次数:
162
Largest Rectangle in a Histogram Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26012 Accepted: 8416 Description A histogram is a polygon ...
分类:
其他好文 时间:
2018-08-10 10:46:46
阅读次数:
157
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1345 因为合并的花费是较大数的权值,所以每个数肯定是和附近的小数合并完后才与大数合并,这样才不会造成浪费。所以我们可以用一个栈底大栈顶小的单调栈来维护序列, 每次把数压进去,被弹出的数就 ...
分类:
其他好文 时间:
2018-08-05 16:55:29
阅读次数:
155
Blocks bzoj-2086 Poi-2010 题目大意:题目链接。 注释:略。 想法:首先,不难发现,如果连续的一段数的平均值不小于输入的k的话,这段数是满足题意的。 所以,我们再次简化一下:将每个数都减去k,即求极大区间,使得区间和为正。 将所有数的前缀和自尾至头压进单调栈,然后左指针遍历1 ...
分类:
其他好文 时间:
2018-08-05 10:26:45
阅读次数:
145
单调队列就是维护一个队列,使得该队列从队首到队尾成单调递增或是单调递减。 做法就是每向队列里加入一个元素就判断该元素是不是比队尾元素大(以递减序列为例),是的话就将队尾元素出列,直到该元素比队尾元素小,然后将该元素放置队尾。 这么久了一直不明白单调队列的实现,现在看来,原来这么简单。。。。。 单调栈 ...
分类:
其他好文 时间:
2018-08-04 22:25:21
阅读次数:
161
N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering Output 最少数量的海报数. N个矩形,排成一排. 现在希 ...
分类:
其他好文 时间:
2018-08-01 18:18:08
阅读次数:
151
1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 Treap 随机 ...
分类:
编程语言 时间:
2018-08-01 14:33:55
阅读次数:
178
从后往前更新,维护一个递减单调栈(队列) 最近很多题都是单调栈。。。 ...
分类:
其他好文 时间:
2018-07-31 22:03:21
阅读次数:
370