#iai15b4. 文本编辑器(二)(Text Editor II)

文本编辑器(二)(Text Editor II)

文本编辑器(二)(Text Editor II)

题目描述

请实现一个支持在任意位置插入和删除字符的文本编辑器。开始时,编辑器的文本是空的,给定 n 条修改操作,请模拟编辑器在这些操作下的行为,最后输出编辑器所记录的文本内容:

  • 插入 操作:该操作还需要提供一个数字 k 与一个字符 ch 作为参数,编辑器将在文本的前 k 个字符之后插入 ch。特别地,若 k=0,则编辑器将会在文本的首位插入 ch;
  • 删除 操作:该操作还需要提供一个数字 k,编辑器删除文本的第 k 个字符;

输入格式

第一行:单个整数 n; 第二行到第 n+1 行:每行表示一个操作:

  • 插入 操作以字母 i 开头,后接一个自然数 k 与一个字母 ch,保证 ch 是一个大写的英文字母,k 不超过当前文本的长度;
  • 删除 操作以字母 d 开头,后接一个正整数 k,保证 k 不超过当前文本的长度。

输出格式

单个字符串:表示编辑器最后所记录的文本内容。

数据范围

  • 对于 30% 的数据,1 ≤ n ≤ 500;
  • 对于 60% 的数据,1 ≤ n ≤ 50000;
  • 对于 100% 的数据,1 ≤ n ≤ 500000。

样例输入 #1

5 i 0 A i 1 B i 2 C d 2 d 1

样例输出 #1

C

说明:前三步构造出了ABC,第四步删除了B,第五步删除了A

知识点与难度

本题涉及的知识点从属于 GESP 5级,难度等级:⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n≤20 / 特殊: 全插入 / 特殊: 全删除
2 15 9~11 Hack: n=1 / Hack: 频繁首尾操作 / Hack: 交替插入删除
3 30 12~20 中规模 n≈500~50000 / 大规模 n≈500000 压力
4 25 21~25 随机 n=1~500000 回归