luogu#P9523. [JOISC2022] 复制粘贴 3

[JOISC2022] 复制粘贴 3

题目背景

JOISC2022 D2T1

题目描述

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 最少要多少单位时间。

11
mississippi
10
5
2
88
16
aaaaaaaaaaaaaaaa
1
1
1
9
18
aababbbababbbaabbb
1000000000
100000
10000000
8060200000

提示

【样例解释 #1】

以下是一组最优操作:

轮次 操作 解释 XX YY 代价 总时间
- "" "" - 00
11 操作 A 输入字符 "s" 1010
22 操作 B 全选并剪切 "" "s" 55 1515
33 操作 C 在尾部粘贴 "s" 22 1717
44 "ss" 1919
55 操作 A 输入字符 "ssi" 1010 2929
66 操作 B 全选并剪切 "" "ssi" 55 3434
77 操作 A 输入字符 "m" 1010 4444
88 "mi" 5454
99 操作 C 在尾部粘贴 "missi" 22 5656
1010 "mississi" 5858
1111 操作 A 输入字符 "mississip" 1010 6868
1212 "mississipp" 7878
1313 "mississippi" 8888

这组样例满足子任务 3,4,5,63,4,5,6 的限制。

【样例解释 #2】

一组最优策略如下:

轮次 操作 解释 XX YY 代价 总时间
- "" "" - 00
11 操作 A 输入字符 "a" 11 11
22 "aa" 22
33 "aaa" 33
44 "aaaa" 44
55 操作 B 全选并剪切 "" "aaaa" 55
66 操作 C 在尾部粘贴 "aaaa" 66
77 "aaaaaaaa" 77
88 "aaaaaaaaaaaa" 88
99 "aaaaaaaaaaaaaaaa" 99

这组样例满足子任务 2,3,4,5,62,3,4,5,6 的限制。

【样例解释 #3】

这组样例满足子任务 3,4,5,63,4,5,6 的限制。

【数据范围】

对于所有数据,满足:

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

详细子任务附加限制及分值如下表所示:

子任务编号 附加限制 分数
11 N=3N=3 11
22 SS 只包含字符 a\texttt a 55
33 N30N\le 30 1414
44 N200N\le 200 1010
55 N1000N \le 1000 3232
66 无附加限制 3838