#L3688. 「JOISC 2022 Day2」复制粘贴 3

    ID: 3664 传统题 3000ms 256MiB 尝试: 8 已通过: 1 难度: 8 上传者: 标签>动态规划区间DP字符串KMP哈希和哈希表数据结构前缀和其他思维构造

「JOISC 2022 Day2」复制粘贴 3

题目描述

题目译自 JOISC 2022 Day2 T1「コピー & ペースト 3 / Copy and Paste 3」
译文由 hehezhou 友情提供。

JOI 公司是一家以"没啥用发明"而闻名的公司。最近,JOI 公司开发了一款名为"没啥用编辑器"的编辑器。

在这个编辑器中,可以执行如下几种操作来输入某个字符串,设 XX 为屏幕上的字符串,YY 为剪切板中的字符串,初始均为空串:

  • 操作 A:输入字符 cc,即将 XX 更新为 X+cX + c
  • 操作 B:选择所有字符并剪切,即将 YY 更新为 XX,并将 XX 置为空串。
  • 操作 C:将剪切板中的字符串粘贴到当前字符串末尾,即将 XX 更新为 X+YX + Y

对于字符串或字符 x,yx, yx+yx + y 表示将 xxyy 顺次拼接得到的结果。
使用一次操作 A, B, C 分别要花费 A,B,CA, B, C 单位时间。

你安装了"没啥用编辑器",并想要尽可能快地输入一个长度为 NN 的字符串 SS

你需要计算出最少需要花费多少时间。


输入格式

第一行一个整数 NN 表示字符串长度。
第二行一个长度为 NN 的字符串 SS 表示要输入的字符串。
第三行一个整数 AA 表示操作 A 的代价。
第四行一个整数 BB 表示操作 B 的代价。
第五行一个整数 CC 表示操作 C 的代价。


输出格式

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


样例 1

输入

11
mississippi
10
5
2

输出

88

最优操作序列

轮次 操作 解释 X Y 代价 总时间
- "" "" - 0
1 操作 A 输入字符 "s" 10
2 操作 B 全选并剪切 "" "s" 5 15
3 操作 C 在尾部粘贴 "s" 2 17
4 "ss" 19
5 操作 A 输入字符 "ssi" 10 29
6 操作 B 全选并剪切 "" "ssi" 5 34
7 操作 A 输入字符 "m" 10 44
8 "mi" 54
9 操作 C 在尾部粘贴 "missi" 2 56
10 "mississi" 58
11 操作 A 输入字符 "mississip" 10 68
12 "mississipp" 78
13 "mississippi" 88

这组样例满足子任务 33445566 的限制。


样例 2

输入

16
aaaaaaaaaaaaaaaa
1
1
1

输出

9

最优操作序列

轮次 操作 解释 X Y 代价 总时间
- "" "" - 0
1 操作 A 输入字符 "a" 1 1
2 "aa" 2
3 "aaa" 3
4 "aaaa" 4
5 操作 B 全选并剪切 "" "aaaa" 5
6 操作 C 在尾部粘贴 "aaaa" 6
7 "aaaaaaaa" 7
8 "aaaaaaaaaaaa" 8
9 "aaaaaaaaaaaaaaaa" 9

这组样例满足子任务 2233445566 的限制。


样例 3

输入

18
aababbbababbbaabbb
1000000000
100000
10000000

输出

8060200000

这组样例满足子任务 33445566 的限制。


数据范围与提示

对于所有数据,满足:

  • 1N25001 \leq N \leq 2500
  • SS 是一个长度为 NN 的小写字母串
  • 1A,B,C1091 \leq A, B, C \leq 10^9

子任务分值表

子任务编号 附加限制 分数
1 N=3N = 3 1
2 SS 只包含字符 a\texttt{a} 5
3 N30N \leq 30 14
4 N200N \leq 200 10
5 N1000N \leq 1000 32
6 无附加限制 38