心得单调队列

Posted 汪立超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了心得单调队列相关的知识,希望对你有一定的参考价值。

单调队列

其实是初二就学的,但是当时只是会做几道例题,没有总结规律,现在看入门经典时突然感觉以前学的时候太不仔细了,漏过很多细节,于是来填(wa)个坑。

先抄几道例题(其实例题都属于“滑动窗口”一栏,但其实思想一样,直接被我归纳为单调队列了)


 

1.Window 不解释

知道单调队列的应该都知道Window。

Window作为一道经典例题,体现了单调队列的基本特征

1.只关心最优解(要求前n个最优解请出门左拐找隔壁优先队列,单调队列的队列里可能只有1个答案)

2.允许在线更新(废话,不然我排个序不就完事了)

3.多快好省(所有没用的都被自动排除,而且均摊下来每次操作时间才常数)


 

2.Defense Lines,Uva1471

删掉一段连续的子序列,剩下的序列里最长连续递增子序列

先上个暴力

枚举删掉的子序列的头尾O(n2),统计长度O(n)

总复杂度n3

忘记说了,n范围200,000

 

233

 

所以怎么降?

首先很明显统计长度的n是不需要的,预处理一下就好了

还有n2

 

。。。

 

差点忘了主题单调队列(当然考试的话题目不会告诉你这道题是单调队列,但是看着滑动的一个东西就像)

树上并没有说这是单调队列,但我觉得这实际上还是换汤不换药,把各方面表现都很辣鸡(不但没有别人好还比别人死得早)的结果舍去,最后树上说复杂度为nlgn(为什么感觉像n,是不是哪漏算了)


 

以上是关于心得单调队列的主要内容,如果未能解决你的问题,请参考以下文章

单调队列单调栈优先队列模板

单调队列

单调队列 单调栈

优先队列和单调队列一样吗?

单调队列以及单调队列优化DP

数据结构——单调栈&单调队列(解决滑动窗口问题)