| 题目名称 | 4466. 终将成为你 |
|---|---|
| 输入输出 | become.in/out |
| 难度等级 | ★ |
| 时间限制 | 2000 ms (2 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:2, 提交:5, 通过率:40% | ||||
|
|
100 | 0.497 s | 62.79 MiB | C++ |
|
|
100 | 1.056 s | 132.26 MiB | C++ |
|
|
30 | 0.938 s | 8.59 MiB | C++ |
|
|
30 | 0.990 s | 8.62 MiB | C++ |
|
|
0 | 1.007 s | 8.58 MiB | C++ |
| 本题关联比赛 | |||
| 2026.8.28 | |||
| 关于 终将成为你 的近10条评论(全部评论) |
|---|
侑世界第一可爱。
侑世界第一温柔。
侑是天使。
侑世界第一可爱。
侑世界第一温柔。
侑是天使。
侑给了灯子一个长度为 $N$ 的字符串 $S$,灯子的目标是将其中的 `e` 全部删除,而不删除其他字符。最开始标记指向第一个字符处。
灯子使用 `Vim` 来解决这个问题。
然而,灯子并不熟悉 `Vim`,她只知道这里面的三个指令:
- `x`:删除标记指向的字符,标记位置不变(指向的字符变为所删除的字符的下一位),不可以在最后的字符处使用这个命令。
- `h`:将标记向左移动一格,如果标记指向第一个位置,则标记不动。
- `f c`:其中 $c$ 可以指定为除 'e' 外的任意字符,其会将标记移至标记右边(不包含标记)的第一个字符 $c$,$c\not =$ `e`。
如 $S$ 为 'abcdeb',最开始标记指向 'a',使用 `x` 操作则 'a' 删除,标记位置不变,$S$ 变为 'bcdeb',标记指向第一个 'b';接着使用 `f` 操作,将 $c$ 指定为 'b',则 $S$ 仍然为 'bcdeb',标记指向最后一个 'b';使用 `h` 操作标记指向 'e',此时可以使用 `x` 操作删除 'e',$S$ 变为 'bcdb',标记指向最后一个 'b'。
侑想让灯子计算将其中的 `e` 全部删除,而不删除其他字符的最小按键数,请你帮帮灯子。
第一行为一个整数 $N$。
接下来一行一个字符串 $S$。
仅一行一个整数,表示将其中的 `e` 全部删除,而不删除其他字符的最小**按键**数。
35 chefeddiefedjeffeachbigagedegghehad
36
`fdhxhhxffhxfahxhhhxhhhxfdhxfghxfahhx` 为最优解。
- 对于 $50$ 分的数据,保证 $N\le 500$。
- 对于另外 $10$ 分的数据,保证 $N\le 5\times 10^3$。
- 对于 $100\%$ 的数据,保证 $1\le N\le 7\times 10^4$,$S_i\in\{$ `a` $\sim$ `j` $\}$,$S_1,S_N\not=$ `e`。