• 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;
    }

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

  • 相关阅读:
    重温redis命令
    CI框架整合yar
    redis 常用配置
    php 安装yar扩展
    linux 最小安装 需要的后续操作
    centos7 安装php7+mysql5.7+nginx+redis
    mysql 存储过程和事件调度
    mysql的分区和分表
    mysql 范式和反范式
    mysql服务器和配置优化
  • 原文地址:https://www.cnblogs.com/Shiina-Rikka/p/11223647.html
Copyright © 2020-2023  润新知