#include <ext/rope>
using namespace __gnu_cxx;
int a[];
rope<int> x;
rope<int> x(a,a + n);
rope<int> a(x); x->at(); //cout<<x->at(10)<<endl;
x[];
x->push_back(x) // 在末尾添加x
x->insert(pos,x) // 在pos插入x
x->erase(pos,x) // 从pos开始删除x个
x->replace(pos,x) // 从pos开始换成x
x->substr(pos,x) // 提取pos开始x个
描述 给一个空数列,有M次操作,每次操作是以下三种之一: ()在数列后加一个数 ()求数列中某位置的值
撤销掉最后进行的若干次操作(1和3)
输入 第一行一个正整数M。
接下来M行,每行开头是一个字符,若该字符为’A’,则表示一个加数操作,接下来一个整数x,表示在数列后加一个整数x;若该字符为’Q’,则表示一个询问操作,接下来一个整数x,表示求x位置的值;若该字符为’U’,则表示一个撤销操作,接下来一个整数x,表示撤销掉最后进行的若干次操作。
输出 对每一个询问操作单独输出一行,表示答案。
样例输入 A
A
A
Q
U
A
Q
U
Q
样例输出 提示 <=M<=^
#include<bits/stdc++.h>
#include<ext/rope>
using namespace std;
using namespace __gnu_cxx;
rope<int> *now[];
void print(rope<int> s)
{
for (int i = ; i < s.length(); i++)
{
cout << s[i] << " ";
}
cout << endl;
}
int cnt = ;
int main()
{
now[] = new rope<int>();
//cout << now[0] << endl;
int n, m;
cin >> m;
//print(*now[0]);
char ch;
int x;
for (int i = ; i <= m; i++)
{
//now[i] = new rope<int>(*now[i - 1]);
cin >> ch >> x;
if (ch == 'A')
{
++cnt;
now[cnt] = new rope<int>(*now[cnt - ]);
now[cnt]->push_back(x);
}
else if (ch == 'Q')
{
cout << now[cnt]->at(x-) << endl;
}
else if (ch == 'U')
{
++cnt;
now[cnt] = new rope<int>(*now[cnt - - x]);
}
print(*now[cnt]);
}
}

最新文章

  1. PostSharp AOP
  2. AC自动机(二维) UVA 11019 Matrix Matcher
  3. 微软曝光眼球追踪新专利,未来或将可以使用眼球控制HoloLens
  4. 2015GitWebRTC编译实录14
  5. eCos中的线程与同步
  6. Fast Matrix Operations
  7. IntelliJ IDEA 14.x 创建工作空间与多个Java Web项目
  8. 如何让android sdk manager飞奔安装sdk
  9. 山寨QQ音乐的布局(一)
  10. 腾讯AlloyTeam正式发布omi-cli脚手架 v1.0 - 创建网站无需任何配置
  11. AR模块常用函数
  12. 数据结构之ConcurrentHashMap
  13. 【转】IIS上的反向代理
  14. 【原】使用IDEA创建Maven工程时提示&quot;...xxx/pom.xml already exists in VFS&quot;的解决
  15. 【学习笔记】非监督学习-k-means
  16. centos6.5环境下的web项目mysql编码方式导致的中文乱码问题
  17. yum安装Elasticsearch5.x
  18. Java异步、线程池解决方案
  19. luogu P2123 皇后游戏
  20. 使用 vmstat, mpstat 和 sar 查看系统运行参数

热门文章

  1. IDEA全局配置
  2. navivate 下载
  3. Servlet的自动加载
  4. [mysql]SQL语句-新增/修改 创建时间 更新时间
  5. 三十三:数据库之SQLAlchemy.filter常用的过滤条件
  6. python3.6+RF连接mysql
  7. [转] javascript 正则表达式提取数字使用
  8. 【VS开发】Cameralink接口
  9. show slave status 命令判断MySQL复制同步状态
  10. SPOJ 703 SERVICE - Mobile Service 题解