zoukankan      html  css  js  c++  java
  • 【心得】优先队列(算是堆的一种)刷题感

    其实优先队列就是在里面放上不同优先级的可能答案,然后不断更新(当取出一个答案时会增加一些可能的答案||题目给出的新的答案(在线))

    一般用于前n个最优解(因为特点是存取各lgn,可以承受多次取,一般复杂度nlgn,导致现在看见n≤100,000就感觉像是heap)

     赛车 的可能答案是所有超车事件,但是 可能出现在答案里的是 相邻两车间发生的超车  优先级是超车所需时间&&超车编号&&被超车编号(这三个是三个优先级的比较)  每次取出一次超车后(以后所有超车都在这次超车之后)把次序换一下,再加入新的相邻车间的超车(被超的车不可能再超超他的车)

    序列和的前n小元素 可能答案是下面第一个加上面一整行,每当一个被取以后 上面同一个和下面下一个的和 也成为有效答案,push进去      个人感觉一个初始(1,1)的堆,后来每取一个(p,q)加进(p,q+1)和(p+1,q)也可以,有2n次堆操作

    黑匣子 可能答案是前i个数,为了得到前i个数,可以放两个堆,一个是答案堆,一个是备选堆,每当i+1时从备选堆堆顶拉一个到答案堆

    有点搜索味道。。。

  • 相关阅读:
    收藏文章
    Python __func__
    Python 可变对象 & 不可变对象
    Kafka SASL ACL配置踩坑总结
    C++ 传递动态内存
    负数取反,单目运算“-”的运算
    C++重载运算符的理解
    c++ 随机函数用法
    static变量
    路由汇聚及其相关计算
  • 原文地址:https://www.cnblogs.com/wanglichao/p/heap.html
Copyright © 2011-2022 走看看