模拟样例,发现隐含规律:第k小数,k从1依次增大,故mink -> mink+1的过程中,根据新add的值维护min值,是有序列中的前一个或者后一个。因此将有序列分别存在两个优先队列中,一个是值小优先,另一个是值大优先。选择其中一个,维护top值即可。

#include<stdio.h>
#include<string.h>
#include<string>
#include<algorithm>
#include<iostream>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<math.h>
#include<stdlib.h>
using namespace std;
#define M 30005
int val[M],tr[M];
struct cmp
{bool operator()(int x,int y){return x>y;//一般优先队列从大到小,这里将y视为目标,小则优先,实现从小到大}
};
int main()
{int cas,i,j,k,n,m;scanf("%d",&cas);while(cas--){priority_queue<int>dx;priority_queue<int, vector<int>, cmp>xd;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&val[i]);for(j=0;j<m;j++)scanf("%d",&tr[j]);dx.push(val[0]);for(i=0,j=1;i<m;){if(tr[i]==j){printf("%d\n",dx.top());i++;if(!xd.empty()){dx.push(xd.top());xd.pop();}              }else{if(xd.size()+dx.size()<=i){dx.push(val[j]);}else{if(val[j]<dx.top()){xd.push(dx.top());dx.pop();dx.push(val[j]);}else{xd.push(val[j]);}}j++;}}if(cas>0)puts("");}return 0;
}

zoj1319优先队列相关推荐

  1. 优先队列的应用 C++实现

    优先队列的应用 C++实现 优先队列可以用堆来实现, 堆底层可以用数组表示, 通过索引关系,可以表示成一颗二叉完全树 C++的STL提供了相应的容器适配器 包含在queue头文件中 下面通过一道题来看 ...

  2. ccf 交通规划(迪杰斯特拉优先队列模板)

    什么跟什么就是刘汝佳小白书迪杰斯特拉队列的优先队列法 #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f ...

  3. c++ std::priority_queue优先队列

    template <class T, class Container = vector<T>,class Compare = less<typename Container:: ...

  4. 《程序设计解题策略》——1.6 利用左偏树实现优先队列的合并

    本节书摘来自华章计算机<程序设计解题策略>一书中的第1章,第1.6节,作者:吴永辉 王建德 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 利用左偏树实 ...

  5. 排序(一)归并、快排、优先队列等(图文具体解释)

    排序(一) 0基础排序算法 选择排序 思想:首先,找到数组中最小的那个元素.其次,将它和数组的第一个元素交换位置.再次.在剩下的元素中找到最小的元素.将它与数组的第二个元素交换位置. 如此往复,直到将 ...

  6. MYSQL实现ORDER BY LIMIT的方法以及优先队列(堆排序)

    一.MYSQL中的LIMIT和ORACLE中的分页 在MYSQL官方文档中描述limit是在结果集中返回你需要的数据,它可以尽快的返回需要的行而不用管剩下的行, 在ORACLE中也有相关的语法比如 1 ...

  7. 373. Find K Pairs with Smallest Sums (java,优先队列)

    题目: You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k. Def ...

  8. 暑期集训4:栈,树,优先队列 例 :  UVA - 514 ​​​​​​​​​​​​​​

    2018学校暑期集训第四天--栈,树,优先队列 例题  --   UVA - 514 Rails There is a famous railway station in PopPush City. ...

  9. pku 1724 ROADS BFS +优先队列

    http://poj.org/problem?id=1724 题意: Bob现在有的钱数为k,他想从城市1到城市n,给出m条连接两个城市的有向边,并且给出路的长度w,和经过这条路要交的钱数c.问Bob ...

最新文章

  1. VMware vSphere 5.1 群集深入解析(二十一)- 存储I/O控制(SIOC)
  2. 8.STM32中对ADC1_Config()函数(ADC1_GPIO_Config()和ADC1_Mode_Config())的理解(自定义)测试ADC转换电压值输出到终端上。
  3. PHP复习第二天-变量
  4. ICML2020 | 伯克利提出大模型提升Transformer的训练和推理效率
  5. 互联网的未来之上:平权的互联网
  6. mysql搭建主从结点
  7. rk3399_android7.1添加个驱动且加上宏控编译
  8. 计算机房选址,数据中心机房如何选址 数据中心机房如何日常维护
  9. 实验、配置Eigrp 验证,汇总
  10. 进程与线程的区别与联系(经典面试题)
  11. java一般用来开发什么_Java能做什么
  12. css 实现一个尖角_css 实现一个带尖角的正方形
  13. 1/1917钓鱼思维导图
  14. 最全量子计算硬件概述(建议收藏)
  15. 为啥说外包公司不能去?
  16. Ubuntu下安装配置gitLab(一)
  17. 专攻心脑疾病AI市场,数坤科技完成创世伙伴领投2亿元B轮融资
  18. php api视频教程,PHP开发APP接口视频教程
  19. CSR8670/8675 发射(TX SOURCE)USB发射A2DP音乐,实现MIC声音到主机
  20. java强制转换为string_toString() 和 强制类型转换 (String)

热门文章

  1. <2021SC@SDUSC>【Overload游戏引擎】代码下载及安装配置
  2. DialogFragment常见问题(黑色棱角、点击编辑框外关闭软键盘..)
  3. 医院室内导航导诊系统的必要性—医院室内导航系统—智慧医院
  4. php怎么解析mqtt协议,关于php:PHPMQTT-v131-版本发布MQTT-协议解析-协程客户端
  5. Android App上架流程
  6. 共享单车渐成海外新入口 ofo多国下载量力压UBER
  7. linux/ubuntu命令行登录校园网
  8. CentOS 7 Samba 共享云
  9. android高仿京东app
  10. linux系统下如何切换到root用户