题意:求一串数字里的中位数。内存为1M。每个数范围是0到2的31次方-1。

思路:很容易想到把数字全部读入,然后排序,但是会超内存。用计数排序但是数又太大。由于我们只需要第n/2、n/2+1大(n为偶数)或第(n+1)/2大(n为奇数)。所以可以用优先队列来维护最值,这样只需要存一半元素(n/2+1个元素)就可以了。

#include<cstdio>
#include<algorithm>
#include<queue>
#define UL unsigned int
using namespace std;
priority_queue<UL> que;
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        while(!que.empty()) que.pop();
        {
            UL a;
            ; i<=n/; ++i)
            {

                scanf("%u",&a);
                que.push(a);
            }
            +; i<n; ++i)
            {
                scanf("%u",&a);
                if(!que.empty()&&a<=que.top())
                {
                    que.pop();
                    que.push(a);
                }
            }
            )
                printf("%u",que.top());
            else
            {
                UL a=que.top();
                que.pop();
                UL b=que.top();
                printf("%.1f\n",(a+b)/2.0);
            }
        }
    }
    ;
}

URAL 1306 Sequence Median(优先队列)的更多相关文章

  1. ural 1306. Sequence Median

    1306. Sequence Median Time limit: 1.0 secondMemory limit: 1 MBLanguage limit: C, C++, Pascal Given a ...

  2. URAL 1306 - Sequence Median 小内存求中位数

    [题意]给出n(1~250000)个数(int以内),求中位数 [题解]一开始直接sort,发现MLE,才发现内存限制1024k,那么就不能开int[250000]的数组了(4*250000=1,00 ...

  3. 1306.Sequence Median(堆排序)

    1306 URAL真是没水题 以为简单的排序就好了 ME  内存限制很紧 堆排序 或者 STL 用堆排序做的 正好复习一下 都忘了 #include <iostream> #include ...

  4. poj 2623 Sequence Median 堆的灵活运用

    I - Sequence Median Time Limit:1000MS     Memory Limit:1024KB     64bit IO Format:%I64d & %I64u ...

  5. Ural 1248 Sequence Sum 题解

    目录 Ural 1248 Sequence Sum 题解 题意 题解 程序 Ural 1248 Sequence Sum 题解 题意 给定\(n\)个用科学计数法表示的实数\((10^{-100}\s ...

  6. csu 1306 Manor(优先队列)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1306 1306: Manor Time Limit: 1 Sec  Memory Limit: 1 ...

  7. HDU 6047 17多校 Maximum Sequence(优先队列)

    Problem Description Steph is extremely obsessed with “sequence problems” that are usually seen on ma ...

  8. HDU 4441 Queue Sequence(优先队列+Treap树)(2012 Asia Tianjin Regional Contest)

    Problem Description There's a queue obeying the first in first out rule. Each time you can either pu ...

  9. (poj)Sequence Median

    Description Given a sequence of N nonnegative integers. Let's define the median of such sequence. If ...

随机推荐

  1. Unity5.3官方VR教程重磅登场-系列2

    作者:王寒链接:https://zhuanlan.zhihu.com/p/20485529来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 欢迎继续我们的学习. 北京时间 ...

  2. windows+tomcat 7配置二级域名访问其他web程序

    1.在域名管理中做好二级域名的解析 2.在tomcat的server.xml中增加如下: <Host name="wx.ai77.cn" debug="0" ...

  3. css禁止用户选中文本(转)

    body{ -moz-user-select:none;/*火狐*/ -webkit-user-select:none;/*webkit浏览器*/ -ms-user-select:none;/*IE1 ...

  4. 34-Ajax辅助方法

    Ajax是Asynchronous JavaScript and XML的缩写,是目前非常热门的网页开发技术之一,利用Ajax开发技术可以帮助网站减少切换页面的机会.加快网页响应速度.降低网络下载流量 ...

  5. Core Data系列文章(一)Core Data基础

    在iOS开发数据库SQLite的使用介绍了iOS中使用SQLite对数据进行持久化存储,实际上是对数据库直接进行操作,而苹果专门有一套API来间接的对数据进行持久化存储,而且主要针对用户创建的对象 - ...

  6. jquery上传插件Jquery.uploadify.js-转

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示 ...

  7. 补第二周四人小组WBS/NABCD

    四人小组项目<东北师范大学论坛> 要求: 1.给出需求概述.功能列表.痛点或亮点.NABCD及WBS模型在此项目中的应用. 2.不熟悉的名词,自行搜索资料并参考教材第393页开始的术语索引 ...

  8. OC 类别(分类)Categroy

    Categroy类别,又称为扩展类,在类的原基础上扩展方法,且不可添加变量,如果扩展的方法与原始类中的方法相同,则会隐藏原始方法,且不可在扩展方法中通过super调用原始方法,这里与继承不同. 定义: ...

  9. Sql语句统计多表个数并求和

    ) FROM ((SELECT BaseID FROM dbo.Life_cheliang WHERE BaseCreateDate BETWEEN '2015-6-5' AND '2015-6-11 ...

  10. think in java 读书笔记 1 ——移位

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 在Think in Java中 ...