【dp】P1026 统计单词个数
2024-08-23 00:07:27
题目描述
给出一个长度不超过200200的由小写英文字母组成的字母串(约定;该字串以每行2020个字母的方式输入,且保证每行一定为2020个)。要求将此字母串分成kk份(1<k \le 401<k≤40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串thisthis中可包含thisthis和isis,选用thisthis之后就不能包含thth)。
单词在给出的一个不超过66个单词的字典中。
要求输出最大的个数。
输入输出格式
输入格式:
每组的第一行有22个正整数(p,kp,k)
pp表示字串的行数,kk表示分为kk个部分。
接下来的pp行,每行均有2020个字符。
再接下来有11个正整数ss,表示字典中单词个数。(1 \le s \le 61≤s≤6)
接下来的ss行,每行均有11个单词。
输出格式:
11个整数,分别对应每组测试数据的相应结果。
输入输出样例
输入样例#1: 复制
thisisabookyouareaoh is
a
ok
sab
输出样例#1: 复制
7
【思路】:
首先看到题好像是个划分型的dp,,然后竟然有一个限制:
一个单词被用过后首字母不能再用,所以如果(j,i)区间以j为首存在单词,则:s[j][i]=s[j+1][i]+1 否则s[j][i]=s[j+1][i]
f[i][k]=max(f[j][k-1],s[j+1][i])(i为位置,k为次数,s为区间单词数)
代码:
最新文章
- Atitti &#160;css &#160;&#160;transition&#160;Animation&#160;differ区别
- WebAPI身份验证
- [Test] 单元测试艺术(1) 基础知识
- thinkphp-1
- 【转载】高性能IO设计 &; Java NIO &; 同步/异步 阻塞/非阻塞 Reactor/Proactor
- C#利用Attribute实现简易AOP介绍 (转载)
- python----特性003
- Spring事务异常回滚,捕获异常不抛出就不会回滚(转载) 解决了我一年前的问题
- Spring笔记 - Bean xml装配
- 【转】ASP.NET MVC实现权限控制
- 单元测试-unittest模块
- sklearn 数据预处理1: StandardScaler
- python--第十一天总结(paramiko 及数据库操作)
- [小知识] 关闭我的电脑里面的百度网盘以及修改win+e快捷键打开我的电脑
- PHP之null
- android linux 内核层
- SQL Server FOR XML PATH 和 STUFF函数的用法
- oracle 慢查询
- CentOS7.3 部署Haproxy 1.7.2
- 利用github pages五分钟建好个人网站+个人博客
热门文章
- 使用QMetaObject获取类的属性
- Spark 系列(十三)—— Spark Streaming 与流处理
- 缓存的设计及PHP实现LFU
- 2.7_Database Interface OLE-DB诞生
- Python3 MySQL
- error C2338: You&#39;ve instantiated std::aligned_storage<;Len, Align>; with an extended alignment (in other words, Align >;
- SVN commit:remains in tree-conflict错误的解决办法
- jenkins 启动
- python Linux 环境 (版本隔离工具)
- Linux将用户添加到组的指令