POJ3267The Cow Lexicon
http://poj.org/problem?id=3267
题意 : 给你一个message,是给定字符串,然后再给你字典,让你将message与字典中的单词进行匹配,输出要删掉多少字母。
思路 : 动态规划问题,不仅要找对公式,还要注意一些细节问题
样例解释 : 6是字典里有6个单词,10是给定的字符串的长度,给定的字符串可以与下面的brown和cow匹配,但要删掉两个字母
6 10
browndcodw
cow
milk
white
black
brown
farmer
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
using namespace std ;
int main()
{
int W,L,len ;
string mess,dic[];
cin>>W>>L ;
int dp[] ;
cin>>mess ;
for(int i = ; i < W ; i++)
cin>>dic[i] ;
dp[L] = ;//dp[i]代表着从i到L所要删除的字符个数
for(int i = L- ; i >= ; i--)//从message中倒着找
{
dp[i] = dp[i+]+ ;//先将最坏的可能存入数组
for(int j = ; j < W ; j++)
{
len = dic[j].length() ;
if(len <= L-i && dic[j][] == mess[i])//字典里的某个单词的长度要小于你进行匹配的一部分message的长度
{
int me = i,di = ;
while(me < L)
{
if(dic[j][di] == mess[me++])
{
di++ ;
}
if(di == len)
{
dp[i] = min(dp[i],dp[me]+me-i-len) ;//dp[me]代表着从me到L要删除的字符的个数,me-i代表匹配过程中,从位置i到me的区间长度,再减去单词长度,即可得则得到从i到me所删除的字符数
break ;
}
}
}
}
}
cout<<dp[]<<endl ;
return ;
}
POJ3267The Cow Lexicon的更多相关文章
- poj3267--The Cow Lexicon(dp:字符串组合)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8211 Accepted: 3864 D ...
- POJ3267 The Cow Lexicon(DP+删词)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9041 Accepted: 4293 D ...
- POJ 3267 The Cow Lexicon
又见面了,还是原来的配方,还是熟悉的DP....直接秒了... The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submis ...
- POJ 3267:The Cow Lexicon(DP)
http://poj.org/problem?id=3267 The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submi ...
- The Cow Lexicon
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8815 Accepted: 4162 Descr ...
- HDOJ-三部曲-1015-The Cow Lexicon
The Cow Lexicon Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) To ...
- POJ3267——The Cow Lexicon(动态规划)
The Cow Lexicon DescriptionFew know that the cows have their own dictionary with W (1 ≤ W ≤ 600) wor ...
- BZOJ 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典
题目 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 401 Solv ...
- POJ 3267-The Cow Lexicon(DP)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8252 Accepted: 3888 D ...
随机推荐
- android网络编程
android的网络编程分为2种:基于socket的,和基于http协议的. 基于socket的用法 服务器端: 先启动一个服务器端的socket ServerSocket svr = new ...
- Excel 窗体控件属性
常规 AutoLoad (Excel) 打开工作簿时是否加载控件.(如果是 ActiveX 控件,则忽略.) Enabled(表单) 控件是否可以接收焦点并响应用户生成的事件. Locked( ...
- unity 多线程
对于客户端来说,好的用户体验,需要保持一个快速响应的用户界面.于是便要求:网络请求.io操作等 开销比较大的操作必须在后台线程进行,从而避免主线程的ui卡顿.(注:协程也是主线程的一部分,进行大量的i ...
- 《用户和组的管理》Redhat6.3
linux下有三类用户: 1.超级用户 :root 具有操作系通的一切权限 uid 0 2.普通用户:普通用户具有操作系统有限的权限 uid 500-6000 3.伪用户 :是为了方便系统管理,满足 ...
- CentOS 普通用户设置sudo权限
1.先切换到root用户下,输入命令 su 2.添加sudo文件的写权限,命令是: chmod u+w /etc/sudoers 3.编辑sudoers文件 vi /etc/sudoers 找到 ro ...
- php中echo、print、print_r、printf的返回值
1.echo 无返回值,是一个语言结构.在输出多个参数时不可以使用小括号; 2.print返回值为1:如:$x = 0; echo print $x."<br/>";/ ...
- 【zendstudio】如何利用zendstudio新建 或导入php项目
一.利用ZendStudio创建 PHP Project 1. 打开ZendStudio, 选择:File à New à PHP Project, 如下图所示: 于是弹出如下界面: 在”Projec ...
- postgresql 开启远程访问
1.如果服务器启用了防火墙,需要在防火墙上开启 5432 端口. 2.修改 PostgreSQL 配置文件 postgresql.conf.postgresql.conf,Linux 配置文件所在路径 ...
- 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置
jQuery插件 - Booklet翻书特效教程(一) 一般设置 本文由五月雨恋提供,转载请注明出处. 一.宽高(width/height) 1.自定义大小 $(function(){ // 自定义页 ...
- 清除SQL Server执行计划
有时需要调试SQL语句的性能, 需要不断的执行SQL语句, 可是多次执行同一条语句的时候,SQL Server 会缓存表的数据,结果就测不出来 实际的 SQL 的性能 用以下SQL可以清除缓存数据 D ...