什么是双端队列?
ArrayDeque是怎么实现双端队列的?
ArrayDeque是线程安全的吗?
ArrayDeque是有界的吗?
分类:
编程语言 时间:
2019-04-30 10:44:30
阅读次数:
122
有些事情要明着写出来才会去干。 这里是一个不断更新的Todo List,大致按照重要度和列出时间排序。 主要着眼短期计划,其中的大部分事务应该在一周内解决~~,争取不做一只鸽子~~。 填好 "模板库" 的坑。 学习树状数组、数论(矩阵快速幂、博弈论)。 写链表、hash的总结。 填上[栈&队列]中单 ...
分类:
其他好文 时间:
2019-04-14 20:40:04
阅读次数:
212
对于有i*j的项,考虑用斜率优化DP(任务安排) http://poj.org/problem?id=1180 单调递增 https://www.lydsy.com/JudgeOnline/problem.php?id=2726 不单调,二分 单调队列和斜率优化是属于决策单调性的一种。而决策单调性是 ...
分类:
其他好文 时间:
2019-03-29 20:44:06
阅读次数:
158
这是一道广搜题,难点在于对题目的理解和对细节的处理。 对于一个节点,可以向左上、左下、右上、右下四个位置扩展,根据地图的形态确定每一步扩展的代价。 将代价最小的节点放在队头,这样用双端队列来实现。每个节点最多进出队列一次,所以时间复杂度为O(r*c) 1 #include <iostream> 2 ...
分类:
其他好文 时间:
2019-03-23 16:05:19
阅读次数:
144
d = collections.deque([]) # 创建双端队列d.append('a') # 在最右边添加一个元素,此时 d=deque('a')d.appendleft('b') # 在最左边添加一个元素,此时 d=deque(['b', 'a'])d.extend(['c','d']) # ...
分类:
其他好文 时间:
2019-03-17 10:32:27
阅读次数:
145
栈 队列 栈的实现 顺序表实现 换个姿势,链表实现 队列 双端队列 操作: ...
分类:
其他好文 时间:
2019-03-16 19:15:40
阅读次数:
141
容器是一种容纳特定类型对象的集合。C++的容器可以分为两类:顺序容器和关联容器。顺序容器的元素排列和元素值大小无关,而是由元素添加到容器中的次序决定的。标准库定义了三种顺序容器的类型:vector、list和deque(双端队列)。此外,标准库还提供了三种容器适配器:stack、queue和prio ...
分类:
编程语言 时间:
2019-03-14 18:37:42
阅读次数:
137
1 /** 2 problem: http://poj.org/problem?id=3259 3 spfa判负环: 4 当有个点被松弛了n次,则这个点必定为负环中的一个点(n为点的个数) 5 spfa双端队列优化: 6 维护队列使其dist小的点优先处理 7 **/ 8 #include 9 #i... ...
分类:
其他好文 时间:
2019-03-14 00:28:04
阅读次数:
170
一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。在某种意义上,这种混合线性结构提供了单 ...
分类:
其他好文 时间:
2019-03-13 19:47:22
阅读次数:
187
https://www.cnblogs.com/grandyang/p/4656517.html 用双端队列实现,最大值在队列首部 ...