OJ题号:洛谷1801

思路:建立一个大根堆、一个小根堆。大根堆维护前i小的元素,小根堆维护当前剩下的元素。

 1 #include<cstdio>
 2 #include<queue>
 3 #include<functional>
 4 #include<vector>
 5 int main() {
 6     int m,n;
 7     scanf("%d%d",&m,&n);
 8     int a[m],u[n+1];
 9     for(int i=0;i<m;i++) scanf("%d",&a[i]);
10     u[0]=0;
11     for(int i=1;i<=n;i++) scanf("%d",&u[i]);
12     std::priority_queue<int,std::vector<int>,std::less<int> > b;
13     std::priority_queue<int,std::vector<int>,std::greater<int> > s;
14     unsigned int p=0;
15     for(int i=1;i<=n;i++) {
16         p++;
17         while((b.size()<p)&&!s.empty()) {
18             b.push(s.top());
19             s.pop();
20         }
21         for(int j=u[i-1];j<u[i];j++) {
22             if(b.size()<p) {
23                 b.push(a[j]);
24             }
25             else {
26                 if(a[j]<b.top()) {
27                     s.push(b.top());
28                     b.pop();
29                     b.push(a[j]);
30                 }
31                 else {
32                     s.push(a[j]);
33                 }
34             }
35         }
36         printf("%d\n",b.top());
37     }
38     return 0;
39 }

转载于:https://www.cnblogs.com/skylee03/p/7001843.html

[NOI导刊2010提高]黑匣子相关推荐

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

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

  2. P1800 software_NOI导刊2010提高(06)

    P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术 ...

  3. 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 ...

  4. 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)

    P1800 software_NOI导刊2010提高(06) 标签 二分答案 难度 普及/提高- 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每 ...

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

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

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

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

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

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

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

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

  9. 洛谷——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,求一组满 ...

最新文章

  1. 第一节:数据库与数据仓库
  2. Android UI之ImageView
  3. python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式
  4. 山东大学 2020级数据库系统 实验四
  5. 中文字串截取无乱码的问题
  6. 硅谷Web 2.0时代即将结束? 实用型公司更受关注
  7. Git Bash基本命令,Git提交代码到GitHub,GitHub获取代码到本地
  8. oracle的磁盘测试工具orion
  9. oracle自定义函数返回一个表,oracle 自定义函数 返回一个表类型
  10. 收藏文章 写的很好 可惜有些还是看看不懂额。。。
  11. (转)(VS2013 )由于应用程序配置不正确,程序未能启动”--原因及解决方法...
  12. [Java][Android][Process] Process 创建+控制+分析 经验浅谈
  13. 微信小程序-基于云开发 CMS + Vant Weapp 电商 Demo 来了!
  14. 基于JavaWeb的会议室预约管理系统
  15. python怎样实现量化选股?
  16. 计算机版学猫叫歌,抖音学猫叫是什么歌
  17. python numpy是什么_Python库Numpy里ndarray.ndim 是什么意思?
  18. 2021-7-9 学习记录:前端动画制作钟表
  19. 【java】Eclipse使用
  20. 机器视觉系统硬件选型

热门文章

  1. 周二强新概念c语言答案,新编C语言程序设计(周二强版)课后习题练习4答案
  2. oracle改成归档模式_将Oracle数据库改为归档模式并启用Rman备份
  3. php安装包进行安装吗,php的一键安装包有哪些php环境搭建
  4. cadence 常见pcb电阻_不加端接电阻的快乐,你们绝对想象不到!
  5. 怎么调安卓软件的dpi_无线鼠标怎么选、性价比高的罗技鼠标(M系列)推荐
  6. ftp服务器app配置文件,Ubuntu FTP服务器配置与应用
  7. 对比Hashtable、HashMap、TreeMap有什么不同(转)
  8. iis运行html提示500错误,IIS7出现HTTP错误500.22的解决办法
  9. 建模步骤_UG1847建模机械零件,零基础可读详细图文步骤
  10. java基类能调用虚函数_如果我要重写基类的虚函数,可以调用它吗?