码迷,mamicode.com
首页 >  
搜索关键字:双端队列    ( 465个结果
从0开始学算法--数据结构(2.4双端队列与单调队列)
双端队列是特殊的队列,它与队列不同的是可以将元素加入头或尾,可以从头或尾取出元素(滑稽-这部就是栈和队列结合了吗)。 c++标准库 头文件 定义 取出队头,尾元素 访问队头,尾元素 向队头,尾加入元素 单调队列是在队列的基础上使它保持有序,与单调栈类似,所以它反应的也是一个区间内的最值问题 例:po ...
分类:编程语言   时间:2019-10-21 11:25:28    阅读次数:75
collection模块
from collections import namedtuple#用那么多tuple表示一个圆# Point=namedtuple("point",["x","y","z"])# p=Point(1,2,3)# p2=Point(3,2,1)# print(p,"x")# print(p,"y" ...
分类:其他好文   时间:2019-10-19 15:06:03    阅读次数:72
道路和航线
https://loj.ac/problem/10081 题目描述 一张图,有由T个节点,R条双向边和P条单向边组成,每条边有边权且可能存在负权,求能否从S到达每个节点并且输出最小花费。 思路 首先第一想法,把这张图建出来,在跑一遍spfa即可,然而它显然被卡了,不过似乎可以用双端队列优化水过去。 ...
分类:其他好文   时间:2019-10-16 19:59:12    阅读次数:102
算法---队列
一、队列 1.队列类型 FIFO:先进先出 LIFO:后进先出(等同于栈) 优先级队列 双端队列:LIFO和FIFO结合,可以从队首和队尾添加和删除元素 循环队列:队首和队尾相连(可用来解决假溢出) 2.Python自带Queue模块【线程不安全,需加锁】 支持三种队列类型: FIFO(queue. ...
分类:编程语言   时间:2019-10-11 12:42:29    阅读次数:92
单调队列优化DP
维护一段连续区间的极值并且快速取出 用双端队列维护单调的序列 下面来到例题目 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价为每股APi,第i天的股票卖出价为每股BPi( ...
分类:其他好文   时间:2019-10-06 00:13:54    阅读次数:119
模拟测试59
T1: 翻转区间相当于位移,但是边界附近的点要特判。 可以处理出最左侧和最右侧的对称轴,然后分类讨论每个数的位置,即可知道他能移动到的区间。 用set进行bfs即可,相同的点不会被遍历两次。 也可以线段树优化建边,注意优化建边跑双端队列bfs一定要把出边的权值设为1。 时间复杂度$O(nlogn)$ ...
分类:其他好文   时间:2019-10-05 16:48:21    阅读次数:82
打开灯泡 Switch the Lamp On
https://loj.ac/problem/2632 题目描述 给出n行m列的斜线,要求从(0,0)走到(n,m),只能往四个斜方向走,若斜线方向与走的方向相同,花费为0,否则花费为1. 思路 比较经典的bfs题,可以看做是0,1最短路,用双端队列解决。用双端队列是为了维护队列中的单调性,即队列中 ...
分类:其他好文   时间:2019-09-30 21:37:47    阅读次数:75
单调队列
题目来自leetcode 239题滑动窗口最大值 如果使用暴力做法的话,每一次的窗口中都遍历找最大,这样的算法时间复杂度是O(n2),显然不符合要求! 这题应该使用单调队列来解决,时间复杂度为O(n)。 单调队列就是队列中的数据要么是单调递增,要么是单调递减的。 这里我们借助STL中的双端队列可以很 ...
分类:其他好文   时间:2019-09-21 22:54:39    阅读次数:56
顺序容器(定义)--C++复习(8)
一、几种类型 1.vector,支持快速随机访问,类似数组,通过下标方式来访问,但是对中间的插入或删除访问效率比较低; 2.list,双向链表,一个是数据项,一个是链表项,支持快速插入或删除,因为不需要移动位置,只需要修改它里边的一个指针、一个地址就可以; 3.deque,双端队列,在两端插入或删除 ...
分类:编程语言   时间:2019-09-18 00:55:57    阅读次数:110
Luogu_P2243 电路维修【题解】 双端队列bfs
题面:https://www.luogu.org/problem/P2243 建边。 对角线有相连路的边权为0,没有的为1。 然后双端队列bfs求最短路。 将边权为0的到的点从队头入队。 边权为1到的点从队尾入队。 这样可以保证最优。 代码如下: ...
分类:其他好文   时间:2019-09-04 17:36:03    阅读次数:98
465条   上一页 1 ... 7 8 9 10 11 ... 47 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!