二维单调队列 rmq很明显会超时,如果这个序列是一维的,很明显就是个单调队列,现在就是把一维的单调队列转换为二维单调队列。 先求出每一列的窗口极值,然后对于每一行做单调队列,值就是之前求出每个位置结尾的极值,这样就求出了每个正方形的极值。 写起来要注意一些。 #include<bits/stdc++ ...
分类:
其他好文 时间:
2017-08-23 00:47:19
阅读次数:
148
题目描述 现在请求你维护一个数列,要求提供以下两种操作:1、查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结 ...
分类:
其他好文 时间:
2017-08-20 18:38:34
阅读次数:
128
刚开始没看清题意,以为要按照顺序合并,结果码了DP;后来明白题意后,才知道这道题并不难,运用单调队列水过。 讲一下单调队列: 普通的队列的元素遵循先进先出,后进后出的原则,但在优先队列里,每个元素被赋予优先级,优先级较高的最先出列。定义优先队列时默认为大根堆,即元素越大优先级越高,越先出列。 看了别 ...
分类:
其他好文 时间:
2017-08-19 18:41:30
阅读次数:
128
描述 After winning the annual town competition for best lawn a year ago, Farmer John has grown lazy; he has not mowed the lawn since then and thus his l ...
我们可以考虑两种情况 区间之间不相重叠 和 重叠 f【i】【j】表示以当前最后一个区间以 i 结尾 并且选了 j 个区间 不相重叠的话 只要选 1-i-w 的max再加上 包含i在内的前四个数的和 相交的话 考虑因为可选的区间长度是固定的 所以我们可以考虑单调队列优化 sum维护的是前缀和 f【i】 ...
分类:
其他好文 时间:
2017-08-16 09:55:28
阅读次数:
197
Description ZY带N个小Kid过河,小KID分成两种:高一年级,高二年级,由于存在代沟问题,如果同一条船上高一年级生和高二年级生数量之差超过K,就会发生不和谐的事件.当然如果一条船上全是同一年级的,就绝对不会发生争执.现在ZY按小KID队列的顺序依次安排上船,并且不能让他们在过河时发生争 ...
分类:
其他好文 时间:
2017-08-14 10:19:15
阅读次数:
141
3675: [Apio2014]序列切割 Time Limit: 40 Sec Memory Limit: 128 MB Submit: 1468 Solved: 607 [Submit][Status][Discuss] Description 小H近期迷上了一个分隔序列的游戏。在这个游戏里。小H ...
题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 输入输出格式 输入格式: 第一行为3个整数,分别表示a,b,n的值 第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。 输出格式: ...
分类:
其他好文 时间:
2017-08-10 19:31:38
阅读次数:
106
LITTLE BIRD Bzoj 3831 相对而言是一道比较简单的DP,不过它需要用单调队列优化。首先是朴素O(n2), if(d[j]>f[i]) f[i]=min(f[i],f[j]); else f[i]=min(f[i],f[j]+1); f[i]表示从1到i需要的最少代价 K很大时会很慢 ...
分类:
其他好文 时间:
2017-08-05 15:33:21
阅读次数:
182
题目大意:给你一个序列,要你求该序列中最长严格上升子序列的长度。 解题思路:此题算是一道LIS模板题。普通的$O(n^2)$的LIS是会TLE的,因为$n\le 1000000$,所以此题要用单调队列优化的LIS,时间复杂度$O(n\log n)$。 C++ Code: ...
分类:
其他好文 时间:
2017-07-30 11:28:39
阅读次数:
144