QOJ.ac

QOJ

时间限制: 2 s 内存限制: 512 MB 总分: 100

#15586. Vim

统计

欧内斯特·文森特·赖特(Ernest Vincent Wright)是一位美国作家,以在不使用字母 “e” 的情况下撰写小说(《葛茨比》,Gadsby)而闻名。Victor 是欧内斯特的忠实粉丝,并试图在写小说时模仿他,但他想寻找一个真正的挑战。他只使用字母表中的前十个字符(即 abcdefghij)。具有讽刺意味的是,在他写到一半时,电脑上的 “e” 键坏了。为了保持一致性,他决定删除所有已经写好的 “e”。他的一个程序员朋友建议他使用文本编辑器 Vim 来完成这项任务。不幸的是,Victor 对 Vim 并不熟悉,只知道三种不同的命令:“x”、“h” 和 “f”。

  • “x”:删除光标处的字符。光标位置(从左往右数)保持不变。如果光标位于文档的最后一个字符,Victor 不能使用此命令。
  • “h”:将光标向后(向左)移动一步。如果光标位于文档的开头,则什么也不会发生。
  • “f”:等待用户输入另一个字符 $C$,然后将光标向前移动到下一个字符 $C$ 出现的位置(即使光标处的字符恰好是 $C$ 也是如此)。如果光标位置右侧没有任何地方出现 $C$,则什么也不会发生。

例如,如果当前文本为 jeff[i]ehadabigidea(其中光标用方框 [] 表示),那么:

  • “x” 将得到 jeff[e]hadabigidea
  • “h” 将得到 jef[f]iehadabigidea
  • “fi” 将得到 jeffiehadab[i]gidea

编写一个程序,计算 Victor 删除文档中所有 “e” 且不删除其他任何字母所需的最少按键次数。最初,光标位于文档的第一个字符处。请注意,“e” 键已损坏,因此不能使用命令 “fe”。

输入格式

第一行包含一个整数 $N$,表示文档的长度。

第二行包含 $N$ 个字符,每个字符都是从 “a” 到 “j” 的十个小写字母之一。输入的首字符和尾字符均不为 “e”。

输出格式

输出唯一的一行,包含一个整数:Victor 删除所有 “e” 所需的最少按键次数。

数据范围

  • $N \le 70\,000$
  • 对于占 50 分的测试用例:$N \le 500$
  • 对于额外占 10 分的测试用例:$N \le 5\,000$

样例

输入样例 1

35
chefeddiefedjeffeachbigagedegghehad

输出样例 1

36

说明

样例测试点的一个最优解为: fdhxhhxffhxfahxhhhxhhhxfdhxfghxfahhx

您可以通过自己启动 Vim 编辑器来对此进行测试(在命令行提示符下输入 vim file.txt 以打开 file.txt,输入 :q<ENTER> 退出)。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.