蓝桥杯-算法训练 统计单词个数

问题描述

给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份 (1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例 如字符串this中可包含this和is,选用this之后就不能包含th)。
单词在给出的一个不超过6个单词的字典中。
要求输出最大的个数。

输入格式

第一行有二个正整数(p,k)
p表示字串的行数;
k表示分为k个部分。
接下来的p行,每行均有20个字符。
再接下来有一个正整数s,表示字典中单词个数。(1<=s<=6)
接下来的s行,每行均有一个单词。

输出格式

每行一个整数,分别对应每组测试数据的相应结果。

样例输入

1 3
thisisabookyouareaoh
4
is
a
ok
sab

样例输出

7

数据规模和约定

长度不超过200,1<k<=40,字典中的单词数不超过6。

锦囊1

动态规划。

锦囊2

每计算每个区间的单词数。 用F[i,j]表示前i个字符分成k份的最大单词数,则F[i,j]=F[u,j-1]+Cnt(u+1,i),其中u

参考代码

此处为隐藏的内容!
发表评论并刷新,才能查看
俊霖

发表评论

您必须

目前评论:20   其中:访客  19   博主  1

  1. xd907 0

  2. 123455 123455 2

    一直学习中!

  3. 小贝壳 5

    学习学习~~

  4. &,Watch free。 5

    学习~

  5. &,Watch free。 5

    学习!

  6. watchfree watchfree 4

    学习~

  7. 5

    学习

  8. Laurance 0

    学习

  9. ymx200181 5

  10. King 2

  11. 倒e朵* 2

    学习

  12. cheng 0

    想看

  13. 陌上花开 2

    学习

  14. 一缕暖光 1

    正在学习

  15. vonnie 0

    学习!

  16. ding 0

    学习一下

  17. caizexin 0

    学习

  18. wantiao1 1

    可以的

  19. luoruijing 0

    参考一下