题目链接 不会推结论,单调队列万岁!题目大意: 给出若干个等腰直角三角形的顶点,要求有多少个点没有被其他三角形覆盖 先按$x$坐标对顶点排序,单调队列维护所有未被覆盖的点,对于$i$,把它可以覆盖的点从队尾弹出(即队尾元素的左端点≥i的左端点),执行完操作后,如果$i$未被现在的队尾覆盖就入队。 最 ...
分类:
其他好文 时间:
2019-09-19 14:18:16
阅读次数:
84
一、像使用指针可以遍历数组一样,我们可以使用迭代器来遍历容器; 二、迭代器常用运算: 1.*ite返回迭代器所指向的元素的引用(ite是一个迭代器); 2.ite->mem:获取迭代器中指定元素名为mem的成员,等价于(*item).mem; 3.++ite/ite++:给ite加1,指向下一个元素 ...
分类:
编程语言 时间:
2019-09-18 01:28:48
阅读次数:
144
一、几种类型 1.vector,支持快速随机访问,类似数组,通过下标方式来访问,但是对中间的插入或删除访问效率比较低; 2.list,双向链表,一个是数据项,一个是链表项,支持快速插入或删除,因为不需要移动位置,只需要修改它里边的一个指针、一个地址就可以; 3.deque,双端队列,在两端插入或删除 ...
分类:
编程语言 时间:
2019-09-18 00:55:57
阅读次数:
110
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 namedtuple: 生成可以使用名字来访问元素内容的tuple deque ...
分类:
其他好文 时间:
2019-09-18 00:40:11
阅读次数:
77
deque deque是一种双向开头的现行连续空间 但它与vector有差异: 1.deque可以在O(1)的复杂度下进行头端插入与移除,而vector的头端操作效率极差 2.deque没有capacity概念。deque随时可以拼接一段新的连续空间。只有像vector这种可能出现空间不足的容器才需 ...
分类:
其他好文 时间:
2019-09-12 10:28:11
阅读次数:
94
1 class Solution{ 2 public: 3 vector maxInWindows(const vector &nums,unsigned int size){ 4 vector res; 5 if(nums.empty() || size = w-1 18 */ 19 deque ... ...
分类:
其他好文 时间:
2019-09-02 09:38:40
阅读次数:
79
#include <deque> 双端队列,可以在队头队尾进行入队出队操作 ...
分类:
其他好文 时间:
2019-09-01 14:18:11
阅读次数:
87
作用 from collections import deque deque和c++中stl的deque相似,是一种双向队列,底层据说也是同样用双链表实现的 可以用于多线程的线程池的实现,或者消息队列的实现 函数 leetcode 933 class RecentCounter(object): d ...
分类:
编程语言 时间:
2019-08-31 10:30:38
阅读次数:
86
一.顺序队列的改进 队列元素的出列是在队头,即下标为0的位置,那也就意味着,队列中的所有元素都得向前移动,以保证队列的队头(也就是下标为0的位置)不为空,此时的时间复杂度为0(n)。 可有时想想,为什么出队列时一定要全部移动呢,如果不去限制队列的元素必须存储在数组的前n个单元这一条件,出队的性能就会 ...
分类:
其他好文 时间:
2019-08-31 01:08:00
阅读次数:
65
How collections.deque works? Cosven Cosven Cosven Cosven 前言:在 Python 生态中,我们经常使用 collections.deque 来实现栈、队列这些只需要进行头尾操作的数据结构,它的 append/pop 操作都是 O(1) 时间复杂 ...
分类:
编程语言 时间:
2019-08-30 11:57:16
阅读次数:
162