随笔分类 -  数据结构——单调队列

摘要:https://ac.nowcoder.com/acm/contest/5674/F 做法:伪单调队列按值升序排序,如果够m了就更新答案同时pop队首 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 3000010 #d 阅读全文
posted @ 2020-08-08 14:56 WeiAR 阅读(183) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 1208E 经典滑动窗口问题,如果以物体为参考系的话。前缀和优化区间操作 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #def 阅读全文
posted @ 2020-08-04 20:42 WeiAR 阅读(125) 评论(0) 推荐(0) 编辑
摘要:二分答案出最小距离,dpcheck,单调队列优化dp #include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cmath> #include <cstring> #define inf 阅读全文
posted @ 2020-03-19 19:34 WeiAR 阅读(169) 评论(0) 推荐(0) 编辑
摘要:是一个单调队列优化dp的典型例子。f[i]=min(f[j])+1,从[i-k,i-1]中转移过来,维护单调递增的队列,每次取队首元素+1就好了。转移分两种情况,[0,i]或者[i-k,i]这个区间里全是01交替的,那么你只能选f[i-1]也就是最大的,取队尾元素就可以了;否则取队首。 #inclu 阅读全文
posted @ 2020-03-11 21:33 WeiAR 阅读(103) 评论(0) 推荐(0) 编辑
摘要:P2659 美丽的序列对于当前的最小值,找到最大的左右边界,然后更新答案。用单调队列确定左右边界,O(n)做法。 阅读全文
posted @ 2017-11-02 20:05 WeiAR 阅读(176) 评论(0) 推荐(0) 编辑
摘要:P3512 [POI2010]PIL-Pilots我一开始打的O(n^2)(最坏情况)的算法.枚举区间长度。60分 正解不用枚举区间长度,动态维护+更新答案,O(n). 阅读全文
posted @ 2017-10-10 08:35 WeiAR 阅读(280) 评论(0) 推荐(0) 编辑
摘要:洛谷P1886 滑动窗口这个题与P1440 求m区间内的最小值很像,只要在这个题基础上再另维护一个递减的单调队列就好了. #include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cma 阅读全文
posted @ 2017-08-08 07:32 WeiAR 阅读(147) 评论(0) 推荐(0) 编辑
摘要:洛谷P1440 求m区间内的最小值 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 以上代表我此时的心情,调了一个小时。。。。只因为顺序,维护一个单调递增队列就好了,这里n很大,输出要优化 阅读全文
posted @ 2017-08-07 16:55 WeiAR 阅读(201) 评论(0) 推荐(0) 编辑
摘要:洛谷P1725 琪露诺 交了15遍,差点砸电脑,我对自己无语了,为什么不好好想,耐下心来。。第一感觉是dp,然后没仔细想,瞎觉得好像不是,然后没管住自己,看了标签,果然是dp,后悔自己为何没好好想想。不过自己写出了转移方程,很好,然后编程的时候没有按方程转移,再次无语。。最后确定答案时,范围卡小了, 阅读全文
posted @ 2017-08-07 14:50 WeiAR 阅读(157) 评论(0) 推荐(0) 编辑
摘要:洛谷P1714 切蛋糕 O(mn)的枚举,按框的长度枚举,A了两个点,TLE了3个。Ans=max(ans,s[i]-s[j]); 然后进行单调队列优化,ans=max(ans,s[i]-min(s[j));i-m<=j<=i-1;用一个单调递增的单调队列来维护s[j]的最小值,每次直接取队首元素就 阅读全文
posted @ 2017-08-07 10:25 WeiAR 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-08-05 14:53 WeiAR 阅读(174) 评论(0) 推荐(0) 编辑