【问题描述】
给出一个长度不超过 200 的由小写英文字母组成的字母串 ( 约定:该字母串以每行 20 个字母的方式输
入,且保证每行一定为 20 个 ) 。要求将此字母串分成 k 份 (1<k<=40) ,且每份中包含的单词个数加起来总数
最大 ( 每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串 this
中可包含 this 和 is ,选用 this 之后就不能包含 th) 。
单词在给出的一个不超过 6 个单词的字典中。要求输出最大的个数。
【输入文件】
输入数据放在文本文件 input3.dat 中,其格式如下:
每组的第一行有二个正整数 (p , k) , p 表示字串的行数; k 表示分为 k 个部分。
接下来的 p 行,每行均有 20 个字符。
再接下来有一个正整数 s ,表示字典中单词个数。 (1<=s<=6)
接下来的 s 行,每行均有一个单词。
【输出文件】
结果输出至屏幕,每行一个整数,分别对应每组测试数据的相应结果。
【输入样例】
1 3
thisisabookyouareaoh
4
is
a
ok
sab
【输出样例】

7

思路:

比较明显的动态规划问题,我们这样定义子结构,opt[i][j]表示把S[1...i]序列划分成j分,每份中所包含的单词数之和的最大值。那么状态转移方程就是:

opt[i][j] = max{opt[k][j-1] + sum[k+1][i]}

其中sum[i][j]表示序列[i...j]中所包含的单词的数量,这个数组可以用下面的方法来求。

sum[i][j] = sum[i+1][j] + 1,其中S[i...j]中包含以S[i]开头的单词

如果不包含的话直接有sum[i][j] = sum[i+1][j]

动态规划训练6 [统计单词个数]相关推荐

  1. 统计单词个数(划分型)

    codevs 1040 统计单词个数 2001年NOIP全国联赛提高组  题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该 ...

  2. P1026 统计单词个数

    原题链接 外网进不去 P1026 统计单词个数 题目大意 有一个字符串,以每行20个的方法输入(每行都满20个),一共有 p ( p ≤ 10 ) p(p\le 10) p(p≤10) 行.题目又会给 ...

  3. 开发可统计单词个数的Android驱动程序(2)

    开发可统计单词个数的Android驱动程序(1) 五.指定与驱动相关的信息 虽然指定这些信息不是必须的,但一个完整的Linux驱动程序都会指定这些与驱动相关的信息.一般需要为Linux驱动程序指定如下 ...

  4. codevs1040统计单词个数(区间+划分型dp)

    1040 统计单词个数 2001年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过2 ...

  5. c语言编程统计单词的个数,使用c语言如何统计单词个数

    使用c语言如何统计单词个数 发布时间:2020-04-21 13:58:58 来源:亿速云 阅读:207 作者:小新 使用c语言如何统计单词个数?相信有很多人都不太了解,今天小编为了让大家更加了解Go ...

  6. 【codevs1040】【01NOIPTG】统计单词个数,字符串的划分DP

    1040 统计单词个数 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过200的 ...

  7. python输入一个英文句子 输出单词个数_编写程序,给出一个英文句子,统计单词个数。_学小易找答案...

    [简答题]叙述pass语句的作用. [简答题]吹风机不工作,可以用万用表检测吗?在网上搜索关键词,吹风机不工作怎么办? [单选题]以下代码运行结果正确的是哪一项?() x=2 if x:print(T ...

  8. C语言-统计单词个数

    目录 1 算法思想 2 实现1 3 实现2 1 算法思想 读取输入进来的一个字符串,统计其中单词的个数,由于每个单词字母不一样,长度不一样,所以来依靠识别单词来统计单词数是比较难的,下面观察一个字符串 ...

  9. python统计单词个数算法_python 统计单词个数和频次

    开始学习python,习题需要统计单词个数和频次.百度找到的代码好像都有问题.自己写了一个,调试通过. 环境:python: 3.9.1 64bit :  pycharm: 2020.2  电脑 wi ...

最新文章

  1. 让学生网络相互学习,为什么深度相互学习优于传统蒸馏模型?| 论文精读
  2. 树莓派4与英伟达Jetson Nano性能大比拼,谁是最佳的嵌入式“电脑”?
  3. PCB 3D模型与渲染
  4. Material Design之ActionBar、ToolBar
  5. mysql 存储过程 输出warning_如何抑制MySQL存储过程的输出?
  6. python3 枚举_Python3枚举类如何处理重复名称?
  7. 数据结构实验之栈五:下一较大值(一)
  8. matlab读取xlsx文件,从电子表格读取数据
  9. hadoop使用mapreduce统计词频_hadoop利用mapreduce运行词频统计(非例程)
  10. java双缓冲绘图_Java双缓冲技术-绘图应用
  11. java 读取txt乱码_java 逐行读取txt文本如何解决中文乱码
  12. 【转】我眼中的自动化测试框架设计要点
  13. 面试题汇总2(吐血整理)
  14. 域计算机策略软件安装方法,windows域软件下发策略
  15. 【南阳OJ分类之语言入门】80题题目+AC代码汇总
  16. 远远地望你在山的那边
  17. php正则表达式在线测试工具,在线测试正则表达式工具:适合asp.net vb.net cs.net等Web或者Windows程序,便于你快速编写正确正则表达式,提供正则表达式模板供参考。...
  18. requests爬取美图妹子
  19. JVM成神之路-HotSpot虚拟机-编译原理、JIT、编译优化
  20. 统计学基础5-多维随机变量及其分布

热门文章

  1. netcore读取json文件_【NET Core】.NET Core中读取json配置文件
  2. java实用教程——组件及事件处理——设置组件的位置(相对于窗口具体位置和布局)
  3. java class类型参数_使用Class对象实例化Java类型参数/ generic
  4. 共聚焦图片怎么加标尺_聚焦扶贫政策,打造小康生活
  5. 在idae中为什么用Module创建一个新的Maven项目的时候会被卡死
  6. [SpringBoot2]web场景_静态资源规则与定制化
  7. [Java基础]注解概念
  8. C++string容器应用举例
  9. Balanced Lineup POJ - 3264(线段树模板+查询比大小+建树)
  10. 二级c语言作答文件不存在,全国计算机等级考试二级C语言上机考试题库及答案...