![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技巧_单调队列
TouchDreamer
这个作者很懒,什么都没留下…
展开
-
hihoCoder #1403 : 后缀数组一·重复旋律
题目分析 后缀数组基础题目,肯定要把height数组找出来,然后从前往后扫一下,每k个需要找一个最小值,这里我用了单调队列优化,队列中一直保存着k个元素的最小元素,但是这里需要之一的一点,每一个height[i]值表示sa[i-1]与sa[i]的最长公共前缀,因此单调队列只用维护k-1个值即可。 #include <cmath> #include <queue> #include <cstdio原创 2016-11-08 18:55:08 · 273 阅读 · 0 评论 -
HDU 5945 Fxx and game(dp+单调队列优化)
题目分析 当初打bestcoder的时候我用广搜写的,并且我知道会超时,但是因为那天脑子太昏了不知道怎么优化,赛后rejudge果然tle。这道题就是用单点队列存放当前位置的前t个位置中最小的那个,代码很懂,也很容易理解,这里就不多说了。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> u原创 2016-11-09 21:08:00 · 313 阅读 · 0 评论 -
codeforce 251 A(二分或者尺取法或者单调队列)
二分#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define LL long long const int maxn = 1e5+100;LL a[maxn];int main(){ LL n, d; while(scanf("%原创 2016-10-19 19:49:48 · 310 阅读 · 0 评论