zoj1319优先队列
模拟样例,发现隐含规律:第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优先队列相关推荐
- 优先队列的应用 C++实现
优先队列的应用 C++实现 优先队列可以用堆来实现, 堆底层可以用数组表示, 通过索引关系,可以表示成一颗二叉完全树 C++的STL提供了相应的容器适配器 包含在queue头文件中 下面通过一道题来看 ...
- ccf 交通规划(迪杰斯特拉优先队列模板)
什么跟什么就是刘汝佳小白书迪杰斯特拉队列的优先队列法 #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f ...
- c++ std::priority_queue优先队列
template <class T, class Container = vector<T>,class Compare = less<typename Container:: ...
- 《程序设计解题策略》——1.6 利用左偏树实现优先队列的合并
本节书摘来自华章计算机<程序设计解题策略>一书中的第1章,第1.6节,作者:吴永辉 王建德 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 利用左偏树实 ...
- 排序(一)归并、快排、优先队列等(图文具体解释)
排序(一) 0基础排序算法 选择排序 思想:首先,找到数组中最小的那个元素.其次,将它和数组的第一个元素交换位置.再次.在剩下的元素中找到最小的元素.将它与数组的第二个元素交换位置. 如此往复,直到将 ...
- MYSQL实现ORDER BY LIMIT的方法以及优先队列(堆排序)
一.MYSQL中的LIMIT和ORACLE中的分页 在MYSQL官方文档中描述limit是在结果集中返回你需要的数据,它可以尽快的返回需要的行而不用管剩下的行, 在ORACLE中也有相关的语法比如 1 ...
- 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 ...
- 暑期集训4:栈,树,优先队列 例 : UVA - 514
2018学校暑期集训第四天--栈,树,优先队列 例题 -- UVA - 514 Rails There is a famous railway station in PopPush City. ...
- pku 1724 ROADS BFS +优先队列
http://poj.org/problem?id=1724 题意: Bob现在有的钱数为k,他想从城市1到城市n,给出m条连接两个城市的有向边,并且给出路的长度w,和经过这条路要交的钱数c.问Bob ...
最新文章
- VMware vSphere 5.1 群集深入解析(二十一)- 存储I/O控制(SIOC)
- 8.STM32中对ADC1_Config()函数(ADC1_GPIO_Config()和ADC1_Mode_Config())的理解(自定义)测试ADC转换电压值输出到终端上。
- PHP复习第二天-变量
- ICML2020 | 伯克利提出大模型提升Transformer的训练和推理效率
- 互联网的未来之上:平权的互联网
- mysql搭建主从结点
- rk3399_android7.1添加个驱动且加上宏控编译
- 计算机房选址,数据中心机房如何选址 数据中心机房如何日常维护
- 实验、配置Eigrp 验证,汇总
- 进程与线程的区别与联系(经典面试题)
- java一般用来开发什么_Java能做什么
- css 实现一个尖角_css 实现一个带尖角的正方形
- 1/1917钓鱼思维导图
- 最全量子计算硬件概述(建议收藏)
- 为啥说外包公司不能去?
- Ubuntu下安装配置gitLab(一)
- 专攻心脑疾病AI市场,数坤科技完成创世伙伴领投2亿元B轮融资
- php api视频教程,PHP开发APP接口视频教程
- CSR8670/8675 发射(TX SOURCE)USB发射A2DP音乐,实现MIC声音到主机
- java强制转换为string_toString() 和 强制类型转换 (String)
热门文章
- <2021SC@SDUSC>【Overload游戏引擎】代码下载及安装配置
- DialogFragment常见问题(黑色棱角、点击编辑框外关闭软键盘..)
- 医院室内导航导诊系统的必要性—医院室内导航系统—智慧医院
- php怎么解析mqtt协议,关于php:PHPMQTT-v131-版本发布MQTT-协议解析-协程客户端
- Android App上架流程
- 共享单车渐成海外新入口 ofo多国下载量力压UBER
- linux/ubuntu命令行登录校园网
- CentOS 7 Samba 共享云
- android高仿京东app
- linux系统下如何切换到root用户