P9523 [JOIST 2022] 复制粘贴 3 / Copy and Paste 3

题目背景

JOISC2022 D2T1

题目描述

JOI 公司是一家以“没啥用发明”而闻名的公司。最近,JOI 公司开发了一款名为“没啥用编辑器”的编辑器。 在这个编辑器中,可以执行如下几种操作来输入某个字符串,设 $X$ 为屏幕上的字符串,$Y$ 为剪切板中的字符串,初始均为空串: - 操作 A:输入字符 $c$,即将 $X$ 更新为 $X+c$。 - 操作 B:选择所有字符并剪切,即将 $Y$ 更新为 $X$,并将 $X$ 置为空串。 - 操作 C:将剪切板中的字符串粘贴到当前字符串末尾,即将 $X$ 更新为 $X+Y$。 对于字符串或字符 $x,y$,$x+y$ 表示将 $x$ 和 $y$ 顺次拼接得到的结果。使用一次操作 A,B,C 分别要花费 $A,B,C$ 单位时间。 你安装了“没啥用编辑器”,并想要尽可能快地输入一个长度为 $N$ 的字符串 $S$。 你需要计算出最少需要花费多少时间。

输入格式

第一行一个整数 $N$ 表示字符串长度。 第二行一个长度为 $N$ 的字符串 $S$ 表示要输入的字符串。 第三行一个整数 $A$ 表示操作 A 的代价。 第四行一个整数 $B$ 表示操作 B 的代价。 第五行一个整数 $C$ 表示操作 C 的代价。

输出格式

一行一个整数表示输入字符串 $S$ 最少要多少单位时间。

说明/提示

**【样例解释 #1】** 以下是一组最优操作: | 轮次 | 操作 | 解释 | $X$ | $Y$ | 代价 | 总时间 | |:-:|:-:|:-:|:-:|:-:|:-:|:-:| | - | - | - | `""` | `""` | - | $0$ | | $1$ | 操作 A | 输入字符 | `"s"` | `""` | $10$ | $10$ | | $2$ | 操作 B | 全选并剪切 |` ""` | `"s"`| $5$ | $15$ | | $3$ | 操作 C | 在尾部粘贴 | `"s"` | `"s"`| $2$ | $17$ | | $4$ | 操作 C | 在尾部粘贴 | `"ss"` | `"s"`| $2$ | $19$ | | $5$ | 操作 A | 输入字符 | `"ssi"` | `"s"`| $10$ | $29$ | | $6$ | 操作 B | 全选并剪切 |` ""` | `"ssi"`| $5$ | $34$ | | $7$ | 操作 A | 输入字符 | `"m"` | `"ssi"`| $10$ | $44$ | | $8$ | 操作 A | 输入字符 | `"mi"` | `"ssi"`| $10$ | $54$ | | $9$ | 操作 C | 在尾部粘贴 | `"missi"` | `"ssi"`| $2$ | $56$ | | $10$ | 操作 C | 在尾部粘贴 | `"mississi"` | `"ssi"`| $2$ | $58$ | | $11$ | 操作 A | 输入字符 | `"mississip"` | `"ssi"`| $10$ | $68$ | | $12$ | 操作 A | 输入字符 | `"mississipp"` | `"ssi"`| $10$ | $78$ | | $13$ | 操作 A | 输入字符 | `"mississippi"` | `"ssi"`| $10$ | $88$ | 这组样例满足子任务 $3,4,5,6$ 的限制。 **【样例解释 #2】** 一组最优策略如下: | 轮次 | 操作 | 解释 | $X$ | $Y$ | 代价 | 总时间 | |:-:|:-:|:-:|:-:|:-:|:-:|:-:| | - | - | - | `""` | `""` | - | $0$ | | $1$ | 操作 A | 输入字符 | ` "a"` | `""` | $1$ | $1$ | | $2$ | 操作 A | 输入字符 | ` "aa"` | `""` | $1$ | $2$ | | $3$ | 操作 A | 输入字符 | ` "aaa"` | `""` | $1$ | $3$ | | $4$ | 操作 A | 输入字符 | ` "aaaa"` | `""` | $1$ | $4$ | | $5$ | 操作 B | 全选并剪切 | `""` | `"aaaa"` | $1$ | $5$ | | $6$ | 操作 C | 在尾部粘贴 | `"aaaa"` | `"aaaa"` | $1$ | $6$ | | $7$ | 操作 C | 在尾部粘贴 | `"aaaaaaaa"` | `"aaaa"` | $1$ | $7$ | | $8$ | 操作 C | 在尾部粘贴 | `"aaaaaaaaaaaa"` | `"aaaa"` | $1$ | $8$ | | $9$ | 操作 C | 在尾部粘贴 | `"aaaaaaaaaaaaaaaa"` | `"aaaa"` | $1$ | $9$ | 这组样例满足子任务 $2,3,4,5,6$ 的限制。 **【样例解释 #3】** 这组样例满足子任务 $3,4,5,6$ 的限制。 **【数据范围】** 对于所有数据,满足: - $1\leq N\leq 2500$ - $S$ 是一个长度为 $N$ 的小写字母串。 - $1\leq A,B,C\leq 10^9$ 详细子任务附加限制及分值如下表所示: |子任务编号|附加限制|分数| |:-:|:-:|:-:| |$1$|$N=3$|$1$| |$2$|$S$ 只包含字符 $\texttt a$|$5$| |$3$|$N\le 30$|$14$| |$4$|$N\le 200$|$10$| |$5$|$N \le 1000$|$32$| |$6$|无附加限制|$38$|