考虑莫队,但是我们发现这个东东只支持$ins$(至于怎么支持等会再讲),不支持$del$操作,所以我们构造一种只$ins$不$del$的莫队。 由于我们按莫队的方法排序,第一关键字为$l$所在的块,第二关键字为$r$。所以当排完序后,肯定是当$l$所在的块相同时,$r$单调递增,所以我们对$l$所在 ...
分类:
其他好文 时间:
2019-10-02 14:22:28
阅读次数:
93
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 链表基础操作考察,难点在于对于输入数据的把握,一定要考虑输入数据的全面性 1.出现单链表为NULL; 2.两个链表都为NULL; 3.一个链表遍历完成,另一链表还有剩余的节点 4.两个链 ...
分类:
其他好文 时间:
2019-10-01 22:19:56
阅读次数:
94
题意:给一个长方形大小,现在有n个高宽确定的长方形,要求组成序列,满足:1.宽严格单调递增而高严格单调递增 2.组成序列的最小的长方形要比给定的长方形大。 问最长序列及其编号。 有点类似于lis,我们为了方便打印结果所以选择n平方的dp算法。 令dp[i]为以i结尾的最长上升序列大小,那么dp[i] ...
分类:
其他好文 时间:
2019-10-01 11:37:58
阅读次数:
85
写在前面 关系模型的数据结构里,并没有 顺序 的概念,但SQL处理有序集合也有坚实的理论基础 生成连续编号 求全部的缺失编号 三个人能坐得下吗? 最多能坐下多少人 单调递增和单调递减 小结 SQL处理数据的方法有两种 第一种把数据看成忽略了顺序的集合 第二种把数据看成有序的集合,此时的基本方法如下: ...
分类:
数据库 时间:
2019-09-28 23:55:27
阅读次数:
191
组长大大辛辛苦苦整理的周任务,当然要好好完成啦。比较喜欢单调栈详解的博客,嘿嘿嘿。 相关博客收藏:单调栈原理及应用 详解 附各种类型的题目练习 std::stack 基本操作 个人理解: 单调栈简单来说就是根据栈的特点,保持栈内单调递增或递减。(栈:后进先出(LIFO-last in first o ...
分类:
其他好文 时间:
2019-09-27 23:05:25
阅读次数:
101
K - The Stream of Corning 2 这个题目不是很难,因为给你的这个S是单调递增的,所以就用优先队列+权值线段树就可以很快的解决了。 这个+读入挂可以优化,不过不用也没关系。 #include <cstdio> #include <cstring> #include <cstdl ...
分类:
其他好文 时间:
2019-09-27 10:52:05
阅读次数:
81
Solution 通过贪心维护连续区间的左端点和右端点,利用左端点单调递增可以减少冗余操作,等到全部加上了之后再统计 Code ...
分类:
其他好文 时间:
2019-09-24 21:28:45
阅读次数:
110
题目来自leetcode 239题滑动窗口最大值 如果使用暴力做法的话,每一次的窗口中都遍历找最大,这样的算法时间复杂度是O(n2),显然不符合要求! 这题应该使用单调队列来解决,时间复杂度为O(n)。 单调队列就是队列中的数据要么是单调递增,要么是单调递减的。 这里我们借助STL中的双端队列可以很 ...
分类:
其他好文 时间:
2019-09-21 22:54:39
阅读次数:
56
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 两种解法:递归和非递归 这个题目就是归并排序中的归并操作,将两个有序数组(链表)合并为一个有序的数组。 非递归: 第一个while循环,将 l1 和 l2 进行比较,谁小谁就合并到 li ...
分类:
其他好文 时间:
2019-09-15 09:16:04
阅读次数:
145
先了解一下单调队列: 很明显的具有单调性 分为单调递增和单调递减两种,简单点讲就是维护队头为最大值或者为最小值 (建议采用双向队列 比较好写) 具体步骤:(这个是单调递减) 如果队列非空且当前值比队尾元素大,不断删除比该值小的元素,否则直接队尾入队 单调队列的作用:: 1):可以用来维护区间的单调性 ...
分类:
其他好文 时间:
2019-09-07 13:24:21
阅读次数:
106