![](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 · 280 阅读 · 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 · 319 阅读 · 0 评论 -
codeforce 251 A(二分或者尺取法或者单调队列)
二分#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define LL long longconst int maxn = 1e5+100;LL a[maxn];int main(){ LL n, d; while(scanf("%原创 2016-10-19 19:49:48 · 327 阅读 · 0 评论