ADAQUEUE - Ada and Queue

表示这题是学弟带的榜,题还没看完,学弟吐了一句:这不就是双端队列嘛。于是掏出布满尘埃的《曾粽根ACM程序设计》,嗯,确实是裸题,现学现做。

题意:若干操作,每次可以在队首加入元素,可以在队尾加入元素,也可以翻转整个序列,查询最前面的或者最后面的数。操作数10^6。

除了翻转不用实际操作,其他的就是双端队列加入和删除操作了,若是翻转我们可以设置一个变量来表示状态,然后实时更新。

char s[N];
int main()
{
int Q;
while(~scanf("%d",&Q))
{
deque<int>q;
int f=1,x,len=0;
while(Q--)
{
scanf("%s",s);
if(s[0]=='t')
{
scanf("%d",&x);
if(f==1) q.push_front(x);
else q.push_back(x);
len++;
}
if(s[0]=='p')
{
scanf("%d",&x);
if(f==1) q.push_back(x);
else q.push_front(x);
len++;
}
if(s[0]=='r') f^=1;
if(s[0]=='b')
{
if(!len) puts("No job for Ada?");
else
{ if(f) printf("%d\n",q[len-1]),q.pop_back();
else printf("%d\n",q[0]),q.pop_front();
len--;
}
}
if(s[0]=='f')
{
if(!len) puts("No job for Ada?");
else
{ if(f) printf("%d\n",q[0]),q.pop_front();
else printf("%d\n",q[len-1]),q.pop_back();
len--;
}
}
}
}
return 0;
}

对双端队列有疑问可以参考我前一篇博客。

往下拉

再往下拉..

哈哈,没有!

怎么可能没有,前一篇博客嘛,当然是直接找上一篇咯。还傻傻的到这来。

SPOJ - ADAQUEUE ,双端队列简单运用!的更多相关文章

  1. SPOJ - ADALIST,双端队列入门模板!

    ADALIST - Ada and List 这道题时限6.5s,激动人心啊,好多人STL一顿乱写AC,哈哈,如果熟悉双端队列的话这道题其实是很水的. 题意:n个数的数列,然后接下来Q次操作,每次可以 ...

  2. PAT 甲级 1074 Reversing Linked List (25 分)(链表部分逆置,结合使用双端队列和栈,其实使用vector更简单呐)

    1074 Reversing Linked List (25 分)   Given a constant K and a singly linked list L, you are supposed ...

  3. 《算法实战策略》-chaper19-队列、栈和双端队列

    对于计算机专业的学生来说,他们一定会很熟悉一句话:程序设计 = 算法 + 数据结构.而根据笔者的理解,所谓程序设计其实就是为了编程解决实际问题,所谓算法是一种解决问题某种思维的方法,但是思维需要得到编 ...

  4. python 下的数据结构与算法---4:线形数据结构,栈,队列,双端队列,列表

    目录: 前言 1:栈 1.1:栈的实现 1.2:栈的应用: 1.2.1:检验数学表达式的括号匹配 1.2.2:将十进制数转化为任意进制 1.2.3:后置表达式的生成及其计算 2:队列 2.1:队列的实 ...

  5. HDU 6375(双端队列 ~)

    题意是有至多150000个双端队列,400000次简单操作,直接开会导致内存超限,所以用 STL 中的 map 和 deque ,而读入过大已经在题目中有所说明,直接用已经给出的快速读入即可.要注意的 ...

  6. 自己动手实现java数据结构(四)双端队列

    1.双端队列介绍 在介绍双端队列之前,我们需要先介绍队列的概念.和栈相对应,在许多算法设计中,需要一种"先进先出(First Input First Output)"的数据结构,因 ...

  7. UVa 210 Concurrency Simulator (双端队列+模拟)

    题意:给定n个程序,每种程序有五种操作,分别为 var = constant(赋值),print var (打印), lock, unlock,end. 变量用小写字母表示,初始化为0,为程序所公有( ...

  8. 关于双端队列 deque 模板 && 滑动窗口 (自出)

    嗯... deque 即为双端队列,是c++语言中STL库中提供的一个东西,其功能比队列更强大,可以从队列的头与尾进行操作... 但是它的操作与队列十分相似,详见代码1: 1 #include < ...

  9. 双端队列-deque【集vector与list于一身的牺牲内存换功能完善】

    看到双端队列(deque)了,书上是这样说的:除了栈和队列外还有一种限定性数据结构是双端队列:双端队列是限定插入和删除操作在表的两端进行的线性表:尽管双端队列看起来似乎比栈和队列更灵活,但实际上在应用 ...

随机推荐

  1. .NET Core 1.0 CentOS7 尝试(一、安装)

    昨天宣布 ASP.NET Core RC2,据说差不多稳定了,以后不会有大改了. 参考:https://blogs.msdn.microsoft.com/webdev/2016/05/16/annou ...

  2. 登录界面点击登录后如何延迟提示成功的div的显示时间并跳转

    需求: 在登录页面点击sign in跳转到下个页面之前,我需要显示成功的窗口2秒然后自动关闭 那我们来研究下setTimeout: 关于这个setTimeout首先下面的代码实现的是两秒之后再显示Su ...

  3. spark基准测试-BigDataBenchs

    https://blog.csdn.net/haoxiaoyan/article/details/53895068

  4. 最小化安装centos后ifconfig看不到eth0

    最小换安装centos后,ifconfig看不到eth0,只看到一个lo ifup eth0

  5. SQL 基本编程

    定义变量 赋值 取值 分支语句 循环语句 定义变量 declare @变量   数据类型          //@必须带着  不然程序不知道变量是什么  不带@   电脑会报错 例如 declare ...

  6. vijos 1190 繁忙的都市

    描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路 ...

  7. SSave ALAsset image to disk fast on iOS

    I am using ALAsset to retrieve images like that: [[asset defaultRepresentation] fullResolutionImage] ...

  8. 一个制作Xcode5插件的模板

    原Github地址:https://github.com/kattrali/Xcode5-Plugin-Template 安装将 本工成复制到~/Library/Developer/Xcode/Tem ...

  9. 快学UiAutomator UiDevice API 详解

    一.按键使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点按键 boolean press ...

  10. Mac终端(Terminal)自定义颜色,字体,背景

    使用Mac作为开发机的时候,苹果终端自带的颜色黑白,字体又小,看起来确实不是很舒服.那推荐大家使用Solarized配色方案.Solarized 是目前最完整的 Terminal/Editor/IDE ...