Description

Input

输 入文件editor.in的第一行是指令条数t,以下是需要执行的t个操作。其中: 为了使输入文件便于阅读,Insert操作的字符串中可能会插入一些回车符,请忽略掉它们(如果难以理解这句话,可以参考样例)。 除了回车符之外,输入文件的所有字符的ASCII码都在闭区间[32, 126]内。且行尾没有空格。 这里我们有如下假定:  MOVE操作不超过50000个,INSERT和DELETE操作的总个数不超过4000,PREV和NEXT操作的总个数不超过200000。  所有INSERT插入的字符数之和不超过2M(1M=1024*1024),正确的输出文件长度不超过3M字节。  DELETE操作和GET操作执行时光标后必然有足够的字符。MOVE、PREV、NEXT操作必然不会试图把光标移动到非法位置。  输入文件没有错误。 对C++选手的提示:经测试,最大的测试数据使用fstream进行输入有可能会比使用stdio慢约1秒。

Output

输出文件editor.out的每行依次对应输入文件中每条GET指令的输出。

Sample Input

15
Insert 26
abcdefghijklmnop
qrstuv wxy
Move 15
Delete 11
Move 5
Insert 1
^
Next
Insert 1
_
Next
Next
Insert 4
.\/.
Get 4
Prev
Insert 1
^
Move 0
Get 22

Sample Output

.\/.
abcde^_^f.\/.ghijklmno
认识了一个特别牛的库,#include<ext/rope>,里面有好多东西。。。慢慢研究
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<ext/rope>
 4 using namespace std;
 5 using namespace __gnu_cxx;//没太懂
 6 crope list;
 7 char ch[3000005];
 8 int t,now;
 9 int main(){
10     scanf("%d",&t);
11     while (t--){
12         char s[10];int x;
13         scanf("%s",s);
14         switch(s[0]){
15             case 'M':scanf("%d",&now);break;
16             case 'P':now--;break;
17             case 'N':now++;break;
18             case 'I':
19                 scanf("%d",&x);
20                 for (int i=0;i<x;i++){
21                     ch[i]=getchar();
22                     while(ch[i]=='\n')ch[i]=getchar();
23                     ch[x]=0;
24                 }
25                 list.insert(now,ch);
26                 break;
27             case 'D':scanf("%d",&x);list.erase(now,x);break;
28             case 'G':scanf("%d",&x);list.copy(now,x,ch);ch[x]=0;puts(ch);
29         }
30     }
31 }

转载于:https://www.cnblogs.com/wuminyan/p/5137915.html

BZOJ 1507 [NOI2003]Editor相关推荐

  1. BZOJ1507 [NOI2003]Editor

    BZOJ1507 [NOI2003]Editor Description 很久很久以前,DOS3.x的程序员们开始对 EDLINEDLIN 感到厌倦. 于是,人们开始纷纷改用自己写的文本编辑器?? 多 ...

  2. BZOJ 1507 Editor

    Description Input 输入文件editor.in的第一行是指令条数t,以下是需要执行的t个操作.其中: 为了使输入文件便于阅读,Insert操作的字符串中可能会插入一些回车符,请忽略掉它 ...

  3. 【bzoj1507】[NOI2003]Editor

    第二次写rope了 rope大法好!!! 1 #include<algorithm> 2 #include<iostream> 3 #include<ext/rope&g ...

  4. bzoj 乱刷计划 50/50

    前言 话说第一个板刷计划由于种种原因而告一段落了..其实那一版还有很多题想做,那就只能放一放了 附上效果图一张(几乎每一题都在我博客有题解): 打算 可以复习,重做自己做过的题,不局限于没做过的 乱刷 ...

  5. BZOJ ac100题存档

    不知不觉AC100题了,放眼望去好像都是水题.在这里就做一个存档吧(特别感谢各位大神尤其是云神http://hi.baidu.com/greencloud和丽洁姐http://wjmzbmr.com/ ...

  6. python 写入excel数据xlwt_用python包xlwt将数据写入Excel中

    一般用两种格式的数据写入,不多说放上demo. 1.列表形式写入 import xlwt def data_write(file_path, datas): f = xlwt.Workbook() s ...

  7. BZOJ 1269: [AHOI2006]文本编辑器editor Splay

    F.A.Qs Web Board Home ProblemSet Status Ranklist Contest ModifyUser   yejinru(0) Logout 捐赠本站 Notice: ...

  8. bzoj 1269 editor

    这个题和维修数列一比就简单了许多,只要把所谓的光标处理好就OK 了,就是字符串处理的时候比较麻烦,需要多调试一下.这个题不用回收空间了,不过插入的时候还是要递归建树再插入,这样可以防止树的深度过大导致 ...

  9. BZOJ刷题记录---提高组难度

    BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...

  10. [NOI2003] 文本编辑器

    洛谷题目链接:[NOI2003]文本编辑器 题目描述 很久很久以前, DOS3.xDOS3.xDOS3.x 的程序员们开始对 EDLINEDLINEDLIN 感到厌倦.于是,人们开始纷纷改用自己写的文 ...

最新文章

  1. 【网络安全】Penelope:一款功能强大的Shell处理工具
  2. 0x0800 IP数据包格式分析
  3. 被边缘化的“卓越亚马逊”
  4. leetcode279. 完全平方数
  5. 力扣1232.缀点成线
  6. 《算法精解:C语言描述》勘误
  7. 一墙之隔-看向世界和直面速度与激情
  8. H264视频通过RTMP直播 .
  9. Java Web实现 使用浏览器从服务器下载文件
  10. Web前端开发 icon图标 转 web字体图标
  11. 数字后端基本概念介绍drc
  12. mysql week函数参数_MySQL week()函数详解
  13. 最小生成树-Kruskal和Prim-JAVA代码
  14. CSDN学霸课表——一切皆为 JavaScript
  15. 快速入门electron之实现窗口拖拽
  16. Google 宣布废弃 LiveData.observe 方法
  17. 文件管理软件,不改变原名称,批量给文件名加序号的方法
  18. Opencores上的i2c controller core代码解析
  19. 第三讲:股票买卖 III
  20. 同元软控新一代复杂装备虚拟试验解决方案与实践

热门文章

  1. autocad.net QQ群:193522571 判断string中是否包含集合中所有的字符串
  2. 用FreeBSD与memcached建立分布式缓存服务器全程记录之memcached使用与安装
  3. logging模块(二十六)
  4. 一个简单SeekBar样式的例子
  5. 线程的sleep()方法和yield()方法有什么区别?
  6. 2017.4.18-morning
  7. 从键盘输入n个整数,求它们的最小公倍数
  8. 内存图片IOS app启动动画的实现
  9. 转载:VirtualizingStackPanel
  10. 台媒体:IBM PC将成特洛伊木马【ZZ】【另一个角度】