注意:刚开始用数组存deque<int> qa[MAX]会爆内存

需要改用map<int, deque<int> > qa优化

不明觉厉

#include<bits/stdc++.h>

using namespace std;

void read(int &x){

    char ch = getchar();x = 0;

    for (; ch < '0' || ch > '9'; ch = getchar());

    for (; ch >='0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';

}

map<int,deque<int> >qa;

int N,Q;

int main()

{

    //freopen("in.txt","r",stdin);

    int sign,u,v,w,val;

    while(cin>>N>>Q)

    {

        qa.clear();

    while(Q--)

    {

        read(sign);

        if(sign==1)

        {

            read(u);read(w);read(val);

            if(w==0){

qa[u].push_front(val);

            }

            else qa[u].push_back(val);

        }

        if(sign==2)

        {

            read(u);read(w);

            if(qa[u].empty())

                    {

                        cout<<-1<<endl;

                        continue;

                    }

            if(w==0){cout<<qa[u].front()<<endl;qa[u].pop_front();}

            else {cout<<qa[u].back()<<endl;qa[u].pop_back();}

        }

        if(sign==3)

        {

            read(u);read(v);read(w);

            if(w==0)

            {

qa[u].insert(qa[u].end(),qa[v].begin(),qa[v].end());

            }

            else

            {

                qa[u].insert(qa[u].end(),qa[v].rbegin(),qa[v].rend());

            }

            qa[v].clear();

        }

    }

    }

}

2018百度之星初赛A轮 度度熊学队列的更多相关文章

  1. 2018百度之星初赛A轮 度度熊拼三角

    #include<bits/stdc++.h> using namespace std; int n; int a[1005]; int main() {     int ans;     ...

  2. 2018百度之星初赛B轮 p1m2

    p1m2 Accepts: 954 Submissions: 4063 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/1310 ...

  3. 2018百度之星初赛B轮 rect

    rect Accepts: 1654 Submissions: 2948 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131 ...

  4. 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)

    .navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...

  5. hdu6375 度度熊学队列

    度度熊学队列 题目传送门 解题思路 STL大法好.直接用deque,但是N的范围很大,如果直接开那么多的deque会爆内存,所以用map< int, deque< int>>, ...

  6. 百度之星初赛A轮 A 度度熊拼三角 贪心

    度度熊拼三角  Accepts: 2536  Submissions: 4433  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6553 ...

  7. 2018百度之星初赛B - A,D,F

    总结:这一次的百度之星之行到这里也就结束了,充分的认识到了自己的不足啊...果然还是做的题太少,,见识的题型也还太少,对于STL的掌握还是不够到位啊!!(STL大法是真的好,建议大家认认真真的好好学学 ...

  8. 2018 百度之星 初赛 第六题 HDU6349

    三原色图  Accepts: 281  Submissions: 1261  Time Limit: 1500/1000 MS (Java/Others)  Memory Limit: 262144/ ...

  9. 2017"百度之星"程序设计大赛 - 资格赛-度度熊与邪恶大魔王(dp+后缀最小值)

    度度熊与邪恶大魔王 思路:由于防御和血量的范围很小,所以暴力枚举出对于每种防御造成的每种伤害所需的最小花费,最后只需在伤害大于等于血量的情况下再找到最小花费(这个只需要后缀最小值预处理一下就可以了) ...

随机推荐

  1. mybatis使用的一点小结:session运行模式及批量提交(转)

    mybatis的执行器有三种类型: ExecutorType.SIMPLE 这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement. ExecutorType.REUSE 这 ...

  2. Java 创建bat命令文件运行可执行jar包

    在可执行jar包所在文件夹下创建txt文件(必须在同一文件夹目录下),打开创建的txt文件输入如下内容并保存: @echo off java -jar 包名.jar pause 如下图所示: 然后将后 ...

  3. HTTP、HTTPS 了解一下

    什么是HTTP? 超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准.设计HTTP的初 ...

  4. 微信小程序实现滑动删除效果

    在一些app中,随处可见左滑动的效果,在微信小程序中,官方并未提供相关组件,需要我们自己动手写一个类似的效果 下面仅列举出核心代码,具体的优化需要根据你自身的需求 <view class='li ...

  5. 扇形导航 css3

    本篇文章将通过对css3中的2d变化以及过渡进行分析设计 先放上最终效果图                 功能实现:1.给扇形home元素设置点击事件并添加2d旋转 2.给导航栏设置2d旋转 并通过 ...

  6. python之kafka消费

    使用python3第三方工具,实现kafka消费 # -*- coding: utf-8 -*- import uuid import json from kafka import KafkaCons ...

  7. python-文件操作3(读写文件的详细操作)

    f=open('my-heart','r') print(f.encoding)#返回字符编码 print(f.fileno())#返回操作系统的端口编号 print(f.seekable())#是否 ...

  8. jenkins 构建时显示git分支插件、显示构建分支插件

    参数化构建分支 1.安装插件:Git Parameter 2.找到我们在Jenkins中建立的工程,勾选“参数化构建过程”,并如下配置 3.在“源码管理”中如下配置 Jenkins构建完显示构建用户和 ...

  9. jquery 未来元素事件示例 on() delegate() live()

    jquery 1.7版后建议使用on() $(document).on("click","#green",function(){$(this).after('& ...

  10. 一、Ubuntu16.04 安装

    第一步:系统安装 https://yuedu.baidu.com/ebook/c44183ed4128915f804d2b160b4e767f5acf80fb?pn=1&rf=https%3A ...