bzoj1269: [AHOI2006]文本编辑器editor rope
来源:互联网 发布:java源码网站 编辑:程序博客网 时间:2024/06/05 05:53
rope大法好!!!!!!!!
#include<cstdio>#include<iostream>#include<ext/rope>#include<algorithm>using namespace std;using namespace __gnu_cxx;inline int read(){ int x=0;char ch=getchar(); while(ch>'9'||ch<'0')ch=getchar(); while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x;}int n,now,len;rope <char> a,b,tmp;char s[2000000],rs[2000000];int main(){ n=read(); int x; while(n--) { scanf("%s",s); switch(s[0]) { case 'M':now=read();break; case 'P':now--;break; case 'N':now++;break; case 'G':printf("%c\n",a[now]);break; case 'I': { x=read();len=a.length(); for(int i=0;i<x;i++) { s[i]=getchar(); while(s[i]=='\n') s[i]=getchar(); rs[x-i-1]=s[i]; } rs[x]=s[x]=0; a.insert(now,s); b.insert(len-now,rs); break; } case 'D': { x=read();len=a.length(); a.erase(now,x); b.erase(len-now-x,x); break; } case 'R': { x=read();len=a.length(); tmp=a.substr(now,x); a=a.substr(0,now)+b.substr(len-now-x,x)+a.substr(now+x,len-now-x); b=b.substr(0,len-now-x)+tmp+b.substr(len-now,now); break; } } } return 0;}
0 0
- bzoj1269: [AHOI2006]文本编辑器editor rope
- [BZOJ1269][AHOI2006]文本编辑器editor
- bzoj1269【AHOI2006】文本编辑器editor
- bzoj1269: [AHOI2006]文本编辑器editor
- 【BZOJ1269】[AHOI2006]文本编辑器editor Splay
- 【bzoj1269】【AHOI2006】文本编辑器editor【Splay】
- BZOJ1269——[AHOI2006]文本编辑器editor
- BZOJ1269 [AHOI2006]文本编辑器editor 【82行splay】
- [bzoj1269][AHOI2006]文本编辑器editort
- BZOJ1269 文本编辑器Editor
- [AHOI2006]文本编辑器editor
- 【BZOJ1269】文本编辑器editor(AHOI2006)-NOI原题升级版
- [bzoj][AHOI2006]文本编辑器editor
- 1269: [AHOI2006]文本编辑器editor
- 1269: [AHOI2006]文本编辑器editor
- [bzoj1269]文本编辑器editor [bzoj1500]维修数列
- [AHOI2006]文本编辑器editor (Splay tree)
- [AHOI2006]文本编辑器editor (Splay tree)
- PKI 证书文件编码格式介绍
- 《更好的解释(数学篇)》——虛數 负数 负数
- (fang jian 2015)
- 第二章 吸引你的眼球—UI编程(3)
- UIMenuController的使用
- bzoj1269: [AHOI2006]文本编辑器editor rope
- gson list
- SecureCRT中文显示乱码
- SQLite的基本信息和使用过程
- 黑马程序员——Java(语法基础)
- 笔记:Java 性能优化权威指南 第6章 Java 应用性能分析技巧
- linux下简单的C++ socket编程
- Android 屏幕适配
- 遇到问题----- jsp中$.getJSON方法不调用回调函数