题目 1793

鏖战字符串

查看题解 ↗GitHub ↗如何评测
题号
1793
时间限制
1000 ms
内存限制
128 MB
标签
动态规划
来源
信息学奥赛一本通 · 高手训练篇·五、动态规划(高手训练)

【题目描述】

有一天,Abwad决定和nbc鏖战字符串,比的是谁能更快地将一个“量子态的字符串”删除。“量子态的字符串”的每个字符都有一个删除难度dif[i]dif[i]。“量子态的字符串”非常顽固,只能先分割成若干个子串,然后再通过以下两种方式删除: ① 假设子串的所有字符的删除难度之和为xx,消耗a×x2+ba×x^2+b的时间可将子串扔进回收站。 ② 若子串中出现次数最多的字符出现的次数不少于ll次且不多于rr次,那么采用“量子态的py自动机”算法可以消耗c×x+dc×x+d的时间将子串扔进回收站。 Abwad希望你求出删去每个前缀[1,i]1,i]的最少用时。

【输入】

第一行七个整数n,a,b,c,d,l,rn,a,b,c,d,l,r,其中nn表示字符串的长度。 第二行一行一个长度为nn的字符串。 第三行一行nn个整数,表示每个字符的删除难度dif[i]dif[i]。

【输出】

nn行,每行一个整数ansans,表示删去前缀[1,i][1,i]最短的时间。

【输入样例】

文本
5 1 3 1 5 1 1
abwad
1 1 1 1 1

【输出样例】

文本
4
7
8
12
13

【提示】

【样例解释】 以前缀[1,n][1,n]为例,将串分为a、bwada、bwad两个子串,用方法①删去第一个子串,用方法②删去第二个子串,用时1×1+3+1×4+5=131×1+3+1×4+5=13 【数据规模与约定】

测试点编号 n 特殊约定
1 n≤10 所有的字母都是a
2 所有的字母都是a或b
3
4
5 n≤2000 所有的字母都是a
6 所有的字母都是a或b
7 l=1,r=n
8
9
10
11 n≤100000 l=1,r=n
12
13
14
15 l>r
16
17
18
19
20

对于所有的数据,满足n≤100000,1≤a,b,c,d≤233,1≤l,r≤n,0≤dif[i]≤50n≤100000,1≤a,b,c,d≤233,1≤l,r≤n,0≤dif[i]≤50,所有字符由小写字母组成。

数据下载

题目 1793 的公开数据

正在读取文件列表…

常用命令

题目 1793 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。