• 【心得】单调队列


    单调队列

    其实是初二就学的,但是当时只是会做几道例题,没有总结规律,现在看入门经典时突然感觉以前学的时候太不仔细了,漏过很多细节,于是来填(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,是不是哪漏算了)


  • 相关阅读:
    软工实践结对作业第二次
    团队展示
    软件工程结对作业
    软工实践第二次作业
    栈的初步学习
    课程作业四
    作业
    课程作业2
    博客汇总目录
    Mybatis-plus学习笔记,基于springboot
  • 原文地址:https://www.cnblogs.com/wanglichao/p/5561560.html
Copyright © 2020-2023  润新知