当前位置: 首页 > news >正文

青岛网站公司郑州seo技术服务顾问

青岛网站公司,郑州seo技术服务顾问,域名网站计划怎么写,如何开发自己公司的网站目录 堆【模板】小根堆 题目描述1 输入1 输出1 样例输入 1 样例输出 1 提示1 代码1 堆【模板】大根堆 题目描述2 输入 输出 样例输入2 样例输出2 提示2 代码2 堆【模板】小根堆 题目描述1 初始小根堆为空,我们需要支持以下3种操作: 操作…

目录

堆【模板】小根堆

题目描述1

输入1

输出1

样例输入 1

样例输出 1

提示1

代码1

 堆【模板】大根堆

题目描述2

输入

输出

样例输入2

样例输出2

提示2

代码2


堆【模板】小根堆

题目描述1

初始小根堆为空,我们需要支持以下3种操作:
操作1: 1 x 表示将x插入到堆中(1e-6<=x<=1e6)
操作2: 2 输出该小根堆内的最小数,若小根堆为空,则输出empty
操作3: 3 删除该小根堆内的最小数,若小根堆为空,则输出err

输入1

第一行包含一个整数N,表示操作的个数
接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:
操作1: 1 x
操作2: 2
操作3: 3

输出1

包含若干行,根据题意输出。

样例输入 1
12
1 5
2
3
3
2
1 -5
1 7
1 -9
2
2
1 -17
2
样例输出 1
5
err
empty
-9
-9
-17
提示1

数据规模:
对于30%的数据:N<=20
对于70%的数据:N<=10000
对于100%的数据:N<=10^6
样例说明:
12
1 5
2 输出堆顶5
3 删除5
3 删堆顶时堆为空,输出err
2 取堆顶时堆为空,输出empty
1 -5
1 7
1 -9
2 输出堆顶-9
2 输出堆顶-9
1 -17
2 输出堆顶-17

代码1

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,i,fl,x,t,a[1000100];
void up(int t){
    int fa;
    while(t!=1){
        fa=t/2;
        if(a[fa]>a[t])
            swap(a[t],a[fa]),t=fa;
        else break;
    }
}
void down(int tt){
    int son;
    while(tt*2<=t){
        son=tt*2;
        if(son+1<=t&&a[son+1]<a[son])son++;
        if(a[son]<a[tt])
            swap(a[son],a[tt]),tt=son;
        else break;
    }
}

main(){
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>fl;
        if(fl==1){
            cin>>x;
            a[++t]=x;
            up(t);
        }
        else if(fl==2){
            if(t==0)cout<<"empty\n";
            else cout<<a[1]<<"\n";
        }
        else{
            if(t==0)cout<<"err\n";
            else a[1]=a[t],t--,down(1);
        }
    }
}

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,i,fl,x,t,a[1000100];
void up(int t){int fa;while(t!=1){fa=t/2;if(a[fa]>a[t])swap(a[t],a[fa]),t=fa;else break;}
}
void down(int tt){int son;while(tt*2<=t){son=tt*2;if(son+1<=t&&a[son+1]<a[son])son++;if(a[son]<a[tt])swap(a[son],a[tt]),tt=son;else break;}
}main(){cin>>n;for(i=1;i<=n;i++){cin>>fl;if(fl==1){cin>>x;a[++t]=x;up(t);}else if(fl==2){if(t==0)cout<<"empty\n";else cout<<a[1]<<"\n";}else{if(t==0)cout<<"err\n";else a[1]=a[t],t--,down(1);}}
}

 堆【模板】大根堆

题目描述2

初始大根堆为空,我们需要支持以下3种操作:
操作1: 1 x 表示将x插入到堆中(1e-6<=x<=1e6)
操作2: 2 输出该大根堆内的最大数,若大根堆为空,则输出empty
操作3: 3 删除该大根堆内的最大数,若大根堆为空,则输出err

输入

第一行包含一个整数N,表示操作的个数
接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:
操作1: 1 x
操作2: 2
操作3: 3

输出

包含若干行,根据题意输出。

样例输入2
12
1 5
2
3
3
2
1 -5
1 7
1 -9
2
2
1 217
2
样例输出2
5
err
empty
7
7
217
提示2

数据规模:
对于30%的数据:N<=20
对于70%的数据:N<=10000
对于100%的数据:N<=10^6
样例说明:
12
1 5
2 输出堆顶5
3 删除5
3 删堆顶时堆为空,输出err
2 取堆顶时堆为空,输出empty
1 -5
1 7
1 -9
2 输出堆顶7
2 输出堆顶7
1 217
2 输出堆顶217

代码2

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll i,j,a[600100],n,q,x,t,a1,T,a2,a3,fl;
void up(int t){
    int fa;
    while(t!=1){
        fa=t/2;
        if(a[fa]<a[t])
            swap(a[fa],a[t]),t=fa;
        else break;
    }
}
void down(int fa){
    int son;
    while(fa*2<=t){
        son=fa*2;
        if(son+1<=t&&a[son+1]>a[son])son++;
        if(a[fa]<a[son])swap(a[fa],a[son]),fa=son;
        else break;
    }
}
main(){
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>fl;
        if(fl==1){
            cin>>x;
            a[++t]=x;
            up(t);
        }
        else if(fl==2){
            if(t==0)cout<<"empty\n";
            else cout<<a[1]<<"\n";
        }
        else{
            if(t==0)cout<<"err\n";
            else a[1]=a[t],t--,down(1);
        }
    }
}

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll i,j,a[600100],n,q,x,t,a1,T,a2,a3,fl;
void up(int t){int fa;while(t!=1){fa=t/2;if(a[fa]<a[t])swap(a[fa],a[t]),t=fa;else break;}
}
void down(int fa){int son;while(fa*2<=t){son=fa*2;if(son+1<=t&&a[son+1]>a[son])son++;if(a[fa]<a[son])swap(a[fa],a[son]),fa=son;else break;}
}
main(){cin>>n;for(i=1;i<=n;i++){cin>>fl;if(fl==1){cin>>x;a[++t]=x;up(t);}else if(fl==2){if(t==0)cout<<"empty\n";else cout<<a[1]<<"\n";}else{if(t==0)cout<<"err\n";else a[1]=a[t],t--,down(1);}}
}

http://www.hkea.cn/news/731703/

相关文章:

  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例