题目大意

给出一个长度为\(M\)序列\(A\),表示第\(i\)回合将\(A_i\)放入一个箱子中(共有\(M\)回合),再给出一个长度为\(N\)序列\(B\),表示在\(B_i\)回合执行一次\(Get\)操作。\(Get\)操作:\(k++\),然后输出箱子中第\(k\)大的元素;\(k\)初始为\(0\)。

分析一下

  • 啊箱子就是堆啦
  • 假设正在进行第\(B_i\)回合,就是要将\(A_{B_i}\)放进箱子中,然后再输出箱子中第\(i\)小的元素。
  • 对于箱子中第\(i\)小的元素,其左边的元素(第\(i-1\cdots 1\)小)全部比其小,且依次变小,符合大根堆的特性;
  • 其右边的元素(第\(i +1\cdots M\)小)全部比其大,且依次变大,符合小根堆的特性。
  • 那么我们可以用一个大根堆与一个小跟堆来维护箱子里面的元素。将每次要求的答案放在小根堆(当然大根堆也可以)的堆顶。
  • 可以发现,大根堆中的元素个数始终为\(i-1\)。

操作流程

  • 首先外循环枚举\(B\)序列。将\(A\)序列中的元素塞进大根堆中。
  • 维护大根堆中的元素只能有\(i-1\)个,即每当个数超出时,将大根堆的堆顶移至小根堆中。
  • 输出小根堆的堆顶(即答案)。因为这个答案已经贡献完了,所以再将其塞回至大根堆中。

转载于:https://www.cnblogs.com/JackHomes/p/9322849.html

题解【黑匣子_NOI导刊2010提高(06)】(洛谷P1801)相关推荐

  1. P1801 黑匣子_NOI导刊2010提高(06)

    P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...

  2. P1799 数列_NOI导刊2010提高(06)

    P1799 数列_NOI导刊2010提高(06) f[i][j]表示前i个数删去j个数得到的最大价值. if(i-j==x) f[i][j]=max(f[i][j],f[i-1][j]+1); els ...

  3. 方程的解_NOI导刊2010提高(01) 组合数

    题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+-+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...

  4. 洛谷 P1795 无穷的序列_NOI导刊2010提高(05)

    P1795 无穷的序列_NOI导刊2010提高(05) 题目描述 有一个无穷序列如下: 110100100010000100000- 请你找出这个无穷序列中指定位置上的数字 输入输出格式 输入格式: ...

  5. 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论

    洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...

  6. 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...

  7. 洛谷——P1775 古代人的难题_NOI导刊2010提高(02) P1936 水晶灯火灵(斐波那契数列)...

    P1775 古代人的难题_NOI导刊2010提高(02) P1936 水晶灯火灵 斐波那契数列 1.x,y∈[1-k],且x,y,k∈Z 2.(x^2-xy-y^2)^2=1 给你一个整数k,求一组满 ...

  8. 洛谷—— P1775 古代人的难题_NOI导刊2010提高(02)

    P1775 古代人的难题_NOI导刊2010提高(02) 题目描述 门打开了,里面果然是个很大的厅堂.但可惜厅堂内除了中央的一张羊皮纸和一支精致的石笔,周围几具骷髅外什么也没有.难道这就是王室的遗产? ...

  9. P1801-黑匣子_NOI导刊2010提高【堆】

    正题 题目链接: https://www.luogu.org/problemnew/show/P1801 大意 有两种操作, 1.将一个数放入黑匣子中 2.++i之后查询第i小的数(初始为i) 解题思 ...

最新文章

  1. SQLAdvisor美团SQL索引优化建议工具
  2. 自考微型计算机原理与接口技术试卷,200204自考微型计算机原理与接口技术试题.doc...
  3. 【递推DP】POJ1163The Triangle
  4. 二叉搜索时与双向链表python_剑指Offer(二十六) 二叉搜索树和双向链表
  5. 关闭Xcode警告 (强迫症还在等什么!)
  6. [论文阅读] Cascaded Partial Decoder for Fast and Accurate Salient Object Detection
  7. “光伏热”背后存隐忧 竞价上网倒逼产业升级
  8. [再学Python] - 面向对象的程序设计- 对象和类
  9. mac下安装wxPython2.8.12.1方法
  10. Unity内嵌浏览器插件(Android、iOS、Windows)
  11. 销售自用计算机损益计入哪里,用友创业者4.0下的ERP沙盘模拟经营规则中,销售所需紧急采购产品时,按成品直接成本的(    )倍直接扣除现金,付款即到货,紧急采购多付出的成本计入费用表损失项。...
  12. python实验报告实验目的_Python实验报告五
  13. 当文件夹访问被拒绝,需要权限来执行此操作怎么办?
  14. Spring boot 集成Quartz,实现Job注入bean
  15. linux 复制文件提示略过目录xxx
  16. 60著名条原则和定理
  17. 电热毯UL964测试申请要求有哪些呢
  18. 跳汰机的实操经验总结
  19. matlab导入origin,matlab导入origin
  20. GO语言gin框架实战-02-Jwt和登录认证

热门文章

  1. 两个不同的进程 虚拟地址相同_记一次阿里面试题:都有哪些进程间通信方式?麻烦你不要再背了...
  2. 工控设备 如何将数据发送到串口_AB PLC和西门子PLC之间需要交换数据
  3. java swing事件监听_Java swing(awt):事件监听机制的实现原理+简单示例
  4. android怎么创建一个包命名空间,从Android的jar lib中声明命名空间
  5. ssm整合之五 分页以及按时间查询
  6. 算法训练 字符删除 c语言
  7. tensorflow数据增强
  8. 《好未来编程题》倒置字符串
  9. 《数据库SQL实战》查找入职员工时间排名倒数第三的员工的所有信息
  10. 实际编程题----CT扫描