练习赛qu(大根堆 STL)
来源:互联网 发布:淘宝打印画骗局 编辑:程序博客网 时间:2024/05/22 11:57
qu
【问题描述】
给你一个操作序列 ,问这个维护操作序列的数据结构是哪一种 ?
【输入格式】
第一行是一个正整数n代表操作数目 。
接下来n行,每行两个正整数opt,v。如果opt=1,代表我们将v加入数据结构;如果 opt=2,代表我们从数据结构中取出了一个元素,这个元素的值是 ��。
【输出格式】
输出 三行, 第一行代表数据结构是否可能栈 ,第二行代表数据结构是否可 能是队列 ,第三行代表数据结构是否可能大根堆。每一行的结果都只可能是“ 。每一行的结果都只可能是“ YES” 或者 “No”。
【样例输入】
2
1
2 1
【样例输出】
YES
YES
YES
【数据规模与约定】
100%的数据满足 1≤n≤10^3。
思路:
直接模拟相应数据结构,判断弹出元素是否和给定数字一致。注意可能会出现不合法的输入,需要特判弹出操作比插入操作多的情况。
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<queue>#define N 1005#define del(a,b) memset(a,b,sizeof(a))using namespace std;queue<int>q;priority_queue<int>q1;int n,ok1=1,ok2=1,ok3=1,opt,x;int stack[N],top;int main(){ freopen("qu.in","r",stdin); freopen("qu.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&opt,&x); if(opt==1){ if(ok1) stack[top++]=x; if(ok2) q.push(x); if(ok3) q1.push(x); } if(opt==2){ if(ok1){ if(top==0||stack[top-1]!=x)ok1=0; else top--; } if(ok2){ if(q.empty()||q.front()!=x)ok2=0; else q.pop(); } if(ok3){ if(q1.empty()||q1.top()!=x)ok3=0; else q1.pop(); } } } if(ok1)printf("YES\n");else printf("No\n"); if(ok2)printf("YES\n");else printf("No\n"); if(ok3)printf("YES\n");else printf("No\n"); return 0;}
阅读全文
0 0
- 练习赛qu(大根堆 STL)
- C++STL练习
- [C++] STL Transform练习
- STL <set>练习
- STL list的练习
- C++ STL 练习1
- STL--string练习
- STL 之set 练习
- STL之vector练习
- c++ STL 代码练习
- STL vector练习
- STL 队列练习
- stl练习chapter1
- qt(qu chu biao ti lan /窗口非暴力置顶)
- UVA - 12563 Jin Ge Jin Qu hao (01背包)
- UVa 12563 - Jin Ge Jin Qu hao(01背包)
- UVa 12563 - Jin Ge Jin Qu hao(01背包)
- 12563 - Jin Ge Jin Qu hao(DP)
- dotTrace性能分析之应用程序启动慢
- 安卓视频播放,部分手机不能快进
- Android Studio 代码混淆基本配置
- Error querying database. Cause:org.h2.jdbc.JdbcSQLException:Table “t_user" not found;SQL statement
- java网络编程详解(分层,TCP/IP,网络基础,协议)
- 练习赛qu(大根堆 STL)
- jquery的绑定事件及其优缺点
- Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
- Android 7.0 init.rc的一点改变
- 初识Hadoop
- Android Studio修改默认${user}
- S树(S-Trees, Uva 712)
- PAT(乙级)1014
- Google VR Views实战(VR全景图播放器)