#5379. 统计单词个数

    ID: 5379 传统题 2000ms 256MiB 尝试: 8 已通过: 3 难度: 3 上传者: 标签>动态规划划分dp线性dp分组背包普及/提高−

统计单词个数

题目描述

给出一个长度不超过 200200 的由小写英文字母组成的字母串(该字串以每行 2020 个字母的方式输入,且保证每行一定为 2020 个)。要求将此字母串分成 kk 份,且每份中包含的单词个数加起来总数最大。

每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串 this 中可包含 thisis,选用 this 之后就不能包含 th

单词在给出的一个不超过 66 个单词的字典中。

要求输出最大的个数。

输入格式

第一行包含两个正整数 p,kp, kpp 表示字串的行数,kk 表示需要分成的部分数。

接下来的 pp 行,每行均有 2020 个字符。这些行按顺序连接即为整个字母串。

再接下来一行包含一个正整数 ss,表示字典中单词的个数。

接下来的 ss 行,每行一个字符串,表示一个单词。

输出格式

输出共一行,包含一个整数,即最大的包含单词个数。

样例

1 3
thisisabookyouareaoh
4
is
a
ok
sab
7

样例解释 字母串为 thisisabookyouareaoh,分成 33 份。一种最优划分为:this / isabookyoua / reaoh,每份包含的单词个数总和为 77

数据范围

  • 2k402 \le k \le 40
  • 1s61 \le s \le 6
  • 字母串总长度不超过 200200

题目来源 NOIP 2001 提高组第三题