第二道单调队列。 这道题就是经典的滑动窗口问题了。要求你求某一个数的前$m$位中的最小元素。 先说一句话: 单调队列中,队首保存的是最优解,其实是次解,以此类推 。 所以我们可以构造一个上升的单调队列,队首弄出来的就是答案。 元素的加入不用说,就是那样子。 重点是这里多了元素的删除。因为窗口的长度有 ...
分类:
其他好文 时间:
2018-08-23 19:20:40
阅读次数:
148
终于把去年完全不懂的题做出来了!激动! 这道题可以说是很经典了。即使去年的题,还是经典! 题目叫你维护一个矩阵,每次操作支持删除掉第$x$行第$y$列的数字,然后自动执行两个动作: 1. 向左看齐。每个同学如果左边有空位的话就向左移动一位。显然这个操作过后空位会在第$x$行第$m$列。 2. 向前看 ...
分类:
其他好文 时间:
2018-08-23 15:43:37
阅读次数:
129
AQS队列同步器学习 在学习并发的时候,我们一定会接触到 JUC 当中的工具,JUC 当中为我们准备了很多在并发中需要用到的东西,但是它们都是基于 来实现的,也就是我们如果能够去梳理清楚AQS当中的知识点,对我们以后了解其他并发功能键有很大的帮助。 CLH队列 队列同步器(AbstractQueue ...
分类:
编程语言 时间:
2018-08-23 10:09:56
阅读次数:
189
这两天翻了一下机器学习实战这本书,算法是不错,只是代码不够友好,作者是个搞算法的,这点从代码上就能看出来。可是有些地方使用numpy搞数组,搞矩阵,总是感觉怪怪的,一个是需要使用三方包numpy,虽然这个包基本可以说必备了,可是对于一些新手,连pip都用不好,装的numpy也是各种问题,所以说能不用 ...
分类:
编程语言 时间:
2018-08-20 00:29:33
阅读次数:
215
队列是一种先进先出的线性数据结构 1.队列的实现 实现队列 调用实例 2.数组队列的复杂度分析 3.数组队列的问题 循环队列 tail和front互相追赶着,这个追赶过程就是队列添加和删除的过程,如果tail追到front说明队列满了,如果front追到tail说明队列为空。 令队列空间中的一个单元 ...
分类:
其他好文 时间:
2018-08-18 00:51:28
阅读次数:
200
重构了一天的代码,,, dalao过来10min帮我A了2333 Orz Orz Orz 维护n+1颗splay,分别代表n行,前1~m-1个,最后1棵表示最后1列 每个节点表示人的编号为[l,r)。(因为有些人一直挨在一起,所以可以合并) 裂点细节比较多。 还有,每行只可能插入最后一个位置(即这一 ...
分类:
其他好文 时间:
2018-08-15 22:44:27
阅读次数:
193
队列代表了一个先进先出的对象集合。当需要对各项进行先进先出的访问时,考虑到队列。当在列表中添加一项,为入队,从列表中移除一项时,为出队。 ConcurrentQueue<T>队列是一个高效的线程安全的队列(.net Framework 4.0) 对列的初始化: ConcurrentQueue<Api ...
分类:
其他好文 时间:
2018-08-15 15:33:25
阅读次数:
173
单调队列,顾名思义就是一个具有单调性的一个队列,可是该怎么实现呢。 用普通的队列肯定不能实现,因此我们需要用到里一个数据结构——双端队列,这个也比较容易理解,就是两头都可以进和出队的操作。 然后我们就可以进行愉快的写单调队列了。 单调队列与优先队列还不一样,优先队列只要你不主要删除,他是不会删的,但 ...
分类:
其他好文 时间:
2018-08-03 22:34:35
阅读次数:
145
RabbitMQ简介:MQ全称为MessageQueue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要
分类:
Web程序 时间:
2018-08-01 17:17:56
阅读次数:
191
可以一次性执行多个命令,本质是一组命令的集合,一个事物中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞。 一个列队中,一次性、顺序性、排他性的执行一系列命令 。 可以一次性执行多个命令,本质是一组命令的集合,一个事物中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插 ...
分类:
其他好文 时间:
2018-07-29 14:11:01
阅读次数:
113