(WA*1+TLE*4)+(RE*1)

P1168 中位数

hiYE_ame @ 2023-05-14 12:19:40

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int a[10000],n,s=0,b[10000];
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    for(int i=0;2*i+1<n;i++){
        int j;
        for(j=0;j<i;j++){
            b[j]=a[j];
            sort(b,b+i);
        }
        cout<<b[j/2+1];
    }
    return 0;
}

by codejiahui @ 2023-05-14 12:22:01

@xdi8aho 您好,这是一道优先队列题,您要是没学过就算了吧


by hiYE_ame @ 2023-05-14 12:27:12

大佬求教优先队列是什么???


by OldDriverTree @ 2023-05-14 12:30:49

@xdi8aho 就是堆,支持 O(\log n) 插入/删除,O(1) 查询最大值/最小值


by Peiyuan @ 2023-05-14 12:31:17

一种特殊的数据结构


by hiYE_ame @ 2023-05-14 12:38:30

谢谢 @guoxiangyu66 @Peiyuan 我先试着做,回头再请教哈~


by Peiyuan @ 2023-05-14 13:26:31

可以用 priority_queue<类型> 名字

这里,假设名字是 q

有以下几个主要功能:

q.push(x) 将x加入优先队列

q.top() 获得队首,也就是最大值或最小值

q.pop() 弹出队首元素

q.size() 优先队列的大小

q.empty() 返回布尔类型,是否为空


by hiYE_ame @ 2023-05-14 13:45:21

我做出来啦 谢谢哈~


by hiYE_ame @ 2023-08-28 15:00:42

@OldDriverTree 我也看过 火柴人VS数学


|