使用单调队列解决滑动窗口的最大值 #include <iostream> #include <deque> #include <vector> using namespace std; class MonotonicQueue { // 构建单调队列 private: deque<int> data ...
分类:
其他好文 时间:
2020-05-01 16:55:52
阅读次数:
68
k维滑窗:扩展到k维的单调队列 假如要求一个高维度的空间(数组,矩阵,长方体,这些固定窗口型区域)的固定区域极值时,且满足 高纬度空间是在复杂度范围内 时,可以用这个做法, 时间复杂度为 $\mathcal{O(高维空间容量\times 维度)}$。这个维度只是一个小常数,可以忽略,所以也可以说,时 ...
分类:
其他好文 时间:
2020-04-29 01:12:45
阅读次数:
61
https://loj.ac/problem/2074 我看到这个题的第一反应是做单调栈: $p[i] =h[j]+\sqrt{|i j|} h[i]$ 就$sqrt$这函数吧,也是单调的,性质应该和直线差不多,所以单调队列维护交点单调的若干条曲线。 求交点可以用二分求,时间复杂度是$O(n~log ...
分类:
Web程序 时间:
2020-04-18 22:33:57
阅读次数:
80
2020.04.16 小黄鸭调试法真好用。 如果你不去单调队列别人,你的命运只可能是被单调队列——你不知道比你小的人有多恐怖。 看了下CSP成绩表……初二有6个碾压我的,中预有2个碾压我的……我好慌啊…… 提高组要几分才能去清华/北大3日游啊……好想去PKUWC或者THUWC啊…… 2020.04. ...
分类:
其他好文 时间:
2020-04-17 09:22:50
阅读次数:
64
题干 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3。蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有n只蚯蚓(n为正整数)。每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,.. ...
分类:
其他好文 时间:
2020-04-17 00:05:27
阅读次数:
66
单调队列,即内部元素相对于比较器有序的队列,可以方便的查询序列中某个连续区间内的最大/最小值 也能在状态转移时优化决策以降低时间复杂度。(嗯,这句是OI-Wiki上说的,作为蒟蒻qwq我并不知道如何优化dp) 比如我们想知道一个长为n的数字序列中每连续k个数中最小的那个数 如果暴力求解的话,遍历从1 ...
分类:
其他好文 时间:
2020-04-12 20:39:47
阅读次数:
87
最大子矩阵和问题,一般都是用前缀和先计算行,然后枚举行,在列方向做单调队列 这样的复杂度是N^3,对于几百的数据足够了 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<map> #i ...
分类:
其他好文 时间:
2020-04-12 16:43:54
阅读次数:
79
省选模拟61 1.GTM $BIT$ 把所有点按照下标排序后,考虑消灭一个点会给多少个点消灭掉 发现左边速度比它大的和右边速度比它小的都能够通过接触它消灭 继续分情况,考虑左边速度比它小的一些点 如果速度比右边速度的最小值要大的话就可以通过接触右边的点消灭 同理对于右边速度比它大的点只要比左边最大值 ...
分类:
其他好文 时间:
2020-04-03 19:45:54
阅读次数:
68