洛谷 U136246 左右横跳
洛谷 U136246 左右横跳
题目背景
随着\(Seaway\)越来越飘,反复横跳已经满足不了\(Seaway\)了!\(Seaway\)现在喜欢在一群数对上左右横跳!
题目描述
一开始,\(Seaway\)横跳的数对列空空如也。现在他要开始横跳。这回,他在横跳的过程中会产生以下几种操作。
1 x y 0/1 向横跳数对列的末尾/开头加入一个数对(x,y)
2 询问当前横跳数对列的首数对和尾数对,每个数对的输出形式为(x,y),如果当前数对列为空,则输出(0,0),(0,0)。
3 询问当前横跳数对列的长度,一个数对占两个长度。
4 x 0/1在横跳数对列的末尾/开头删除x个元素。
5 询问当前横跳数对列是否为空,若是,输出1,若不是,输出0。
6 清空当前横跳数对列。
7 x询问当前横跳数对列的第x数对为多少。
输入格式
输入的第一行有一个整数\(N\),代表\(Seaway\)横跳的次数。接下来的\(N\)行,每行描述一个横跳操作。操作格式如题目所示。
输出格式
回答每个询问操作。
提示
数据范围:
\(1\le N\le 10^6\)
命题背景:
同上。
题解:
STL模板题++。
本意是deque,很方便地就可以模拟出这些东西。