hdu4006 The kth great number(优先队列)
来源:互联网 发布:全国网络教育阳光招生服务平台 编辑:程序博客网 时间:2024/05/17 09:01
可喜可贺!终于按照自己的想法A了第一道优先队列题,虽然WA了4次,但还是很开心。
刚开始想输出第三大数,那每次输出的时候都把第k个以前的都存起来出队列,输出第k个后再入队列回去,后来果断超时(噗)。
然后就想干脆只弄k个有效值,队列满了k个就和队首判断然后输出,中间还有几次失误,不过还好A了~
#include <stdio.h>#include <algorithm>#include <iostream>#include <queue>#include <string.h>using namespace std;const int N = 5000;const int INF = 1000000;struct node{ int w; friend bool operator < (const node &a, const node &b) { return a.w > b.w; }};int main(){ // freopen("in.txt", "r", stdin); char a[3]; int n, k, num; while(~scanf("%d%d", &n, &k)) { priority_queue <node> q; while(n --) { cin >> a; if(a[0] == 'I') { if(q.size() >= k)//等于不可去掉 { node jud = q.top(); scanf("%d", &num); node tmp; tmp.w = num; if(tmp.w > jud.w) { q.push(tmp); q.pop(); } } else { node tmp; scanf("%d", &num); tmp.w = num; q.push(tmp); } } else if(a[0] == 'Q') { node tmp1 = q.top(); printf("%d\n", tmp1.w); } } } return 0;}
0 0
- HDU4006-The kth great number(优先队列)
- [优先队列] HDU4006 The kth great number
- HDU4006 The kth great number 优先队列
- hdu4006 The kth great number 优先队列
- HDU4006 The kth great number(优先队列)
- hdu4006 The kth great number(优先队列)
- hdu4006 The kth great number(优先队列)
- hdu4006 The kth great number(优先队列)
- The kth great number(优先队列)
- The kth great number(优先队列)
- The kth great number(优先队列)
- HDU4006 The kth great number
- HDU4006--The kth great number
- HDU4006(The kth great number)
- 【HDU4006】The kth great number
- hdu4006: The kth great number
- HDU4006 The kth great number
- hdu4006 The kth great number
- 用python实现基本A*算法
- 浅谈Android开发中内存泄露与优化
- Hibernate Criteria对象详解(条件查询)
- 较高人工智能的人机博弈程序实现(多个算法结合)含C++源码
- 为何要学习Java语言
- hdu4006 The kth great number(优先队列)
- BZOJ_P4415 [SHOI2013]发牌(线段树)
- 零碎知识点汇总
- 抓住每一次学习的机会
- Quartz2D - 画柱状图
- struts2学习笔记-------为action的属性注入值
- 【项目经验】EasyUI Tree
- 【ShawnZhang】带你看蓝桥杯——算法训练 最小乘积(基本型)
- [网络流24题][CODEVS1904]最小路径覆盖问题(最大流||匈牙利算法)