一、rmq问题 1.st表 2.线段树 3.树状数组 二、lca 三、基本数据结构 1.栈 2.队列 3.单调栈 4.链表 5.stl 6.并查集 7.堆/优先队列 四、分治 1.点分治 2.边分治 3.树链剖分 4.基于询问的分治 5.cdq分治 五、其他 1.可持久化线段树 2.KD-tree ...
分类:
其他好文 时间:
2019-08-11 17:27:04
阅读次数:
70
problem:https://leetcode.com/problems/next-greater-node-in-linked-list/ 维护递减的单调栈。这道题对象是链表,不像数组可以快速通过下标索引,所以比较方便的做法是在栈中同时记录数字和对应的下标,并且默认填0,如果找到了比它大的第一个 ...
分类:
其他好文 时间:
2019-08-11 17:22:44
阅读次数:
134
题号标题已通过代码题解/讨论通过率团队的状态 A All-one Matrices 点击查看 单调栈+前缀和 326/2017 通过 B Beauty Values 点击查看 进入讨论 827/1995 通过 C CDMA 点击查看 进入讨论 669/1115 通过 D Distance 点击查看 ...
直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度。 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面 ...
problem:https://leetcode.com/problems/remove-k-digits 单调栈。维护一个递增的栈,每pop一次意味着移除了一个元素,k--。减为0时不再移除。前导0处理起来很麻烦,很容易WA。 ...
分类:
其他好文 时间:
2019-08-10 17:46:13
阅读次数:
83
http://poj.org/problem?id=2559 题意都懂,给出数列h1,h2,...hn。代表n个宽为1,高为hi的矩形,求最大连续的矩形面积。 思路:对于每个矩形,当然高已经决定,我们思考它的宽可以为多少。很容易得出它的宽可以向左右延伸到第一个高小于它的矩形之前。也就是说,对于每个h ...
分类:
其他好文 时间:
2019-08-04 01:34:09
阅读次数:
113
题意: 求一个最大p使得,在区间[1, p] 内的所有区间 a 序列 和 b序列的最小值下标相同 用单调栈来维护,当第i个元素要进栈时,进行必要出栈操作,使得第i个元素进栈后,该栈单调递增,当a,b两栈的元素个数不相等时,则已达到最大 我的是用数组模拟栈 #include<cstdio>#inclu ...
分类:
其他好文 时间:
2019-08-01 00:05:48
阅读次数:
78
单调栈和队列讲解:传送门 HDU -1506题意: 就是给你一些矩形的高度,让你统计由这些矩形构成的那个矩形面积最大 如上图所示,如果题目给出的全部是递增的,那么就可以用贪心来解决 从左向右依次让每一个矩形的高度当作最后的高度,来从中选取最大值就可以了 但是如果它不是递增的,中间会出现低谷,那么要还 ...
分类:
其他好文 时间:
2019-07-31 18:59:28
阅读次数:
110
题意:要完成一个由s个子项目组成的项目,给b(b>=s)个部门分配,从而把b个部门分成s个组。分组完成后,每一组的任 意两个点之间都要传递信息。假设在(i,j)两个点间传送信息,要先把信息加密,然后快递员从i出发到总部,再加 密,在到j点。出于安全原因,每次只能携带一条消息。现在给出了道路网络、各个 ...
分类:
其他好文 时间:
2019-07-31 18:11:00
阅读次数:
96
https://codeforc.es/contest/1199/problem/D 其实后来想了一下貌似是个线段树的傻逼题。 单调栈是这样思考的,每次单点修改打上一个最终修改的时间戳。每次全体修改就push进去单调栈。首先比新的全体修改的x小的(等的也)全部出栈,这样子单调栈里面就是一个递减的序列 ...
分类:
其他好文 时间:
2019-07-31 12:53:25
阅读次数:
68