#loj3067. 「ROI 2016 Day2」二指禅
「ROI 2016 Day2」二指禅
[AdditionalFile3067.zip](file://AdditionalFile3067.zip?type=additional_file)
#3067. 「ROI 2016 Day2」二指禅
标签: 传统 | 时间限制: 3000 ms | 内存限制: 256 MiB |
题目描述
译自 ROI 2016 Day2 T4. Тренажёр «102-пальцевый набор»
未来的机器人码农一定学过二指禅。为了帮助码农们精通二指禅,某打字软件推出了一种新的练习方法。
屏幕的上半部分会显示一个 位 01 串 (01 串:只包含数字 0 和 1 的字符串)。下半部分会显示 个 01 串(称之为模式串),编号分别为 。第 个模式串为 。每个模式串有一个费用 。模式串的总长度为 。
你需要将 分成若干个子串,使得对于 的每个子串 ,存在一个 满足: 是 的前缀或后缀。
划分的总花费就是每个子串对应的模型的模式串之和。试求最小总花费。如果没有合法划分方案,则输出 -1。
输入格式
样例 1
输入
9 2 8
000110100
1 100
1 11001
输出
4
样例 2
输入
9 3 10
010110101
3 0101
10 011
2 100
输出
8
样例 3
输入
3 1 3
100
1 101
输出
-1
数据范围与提示
对于所有数据,;。
设 表示单个模式串的最大长度。
| 子任务 # | 分值 | 依赖子任务 | |||||
|---|---|---|---|---|---|---|---|
| 1 | 20 | ||||||
| 2 | 10 | --- | --- | 1 | |||
| 3 | 8 | 1, 2 | |||||
| 4 | 8 | 1--3 | |||||
| 5 | 10 | --- | |||||
| 6 | 5 | 5 | |||||
| 7 | 9 | --- | |||||
| 8 | 5 | 7 | |||||
| 9 | 5 | 7, 8 | |||||
| 10 | 5 | --- | 1--9 | ||||
| 11 | 5 | 1--10 | |||||
| 12 | 5 | 1--11 | |||||
| 13 | 5 | 1--12 |