Luogu1059 明明的随机数

Posted shiina-rikka

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu1059 明明的随机数相关的知识,希望对你有一定的参考价值。

STL是个好东西!

看到这道题,我当然想到了堆;在STL里有个东西叫做优先队列priority_queue(其实set做这道题更合适),然后再开个桶看这个数是不是已经有了,有了就不放进来,没有就扔进来;完美;return 0;
下面放代码

#include<bits/stdc++.h>
#include<queue>  //加上这个头文件在码代码的时候方便很多
using namespace std;
bool b[2000];//就是个桶
int n;
priority_queue<int,vector<int>,greater<int> > data;
//int是类型,vector是容器,greater是小根堆
int main()

//    freopen("testdata.in","r",stdin);//测试用的无视就好了
    
    cin>>n;
    int x;
    for(int i=1;i<=n;i++)
    
        cin>>x;
        if(!b[x])
        
            data.push(x);
            b[x]=true; //输入过的数字下次不输入了
        
    
    cout<<data.size() <<endl;//返回元素个数
    int k=data.size() ;//这里必须记录一下,否则下面运算时.size()返回值变化就坏了
    for(int i=1;i<=k;i++)
    
        cout<<data.top()<<  ;
        data.pop();//弹出最上边的元素
        
    
    return 0;

就是这样!有什么问题希望大家能指出!ありがとうございます。

以上是关于Luogu1059 明明的随机数的主要内容,如果未能解决你的问题,请参考以下文章

P1059 明明的随机数去重排序

题解 P1059 明明的随机数

P1059 明明的随机数及unique去重的用法

今年还剩184天可以学习 P5660 P1059 桶排序

明明的随机数

1075 明明的随机数