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的更多相关文章

  1. poj3267--The Cow Lexicon(dp:字符串组合)

    The Cow Lexicon Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8211   Accepted: 3864 D ...

  2. POJ3267 The Cow Lexicon(DP+删词)

    The Cow Lexicon Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9041   Accepted: 4293 D ...

  3. POJ 3267 The Cow Lexicon

    又见面了,还是原来的配方,还是熟悉的DP....直接秒了... The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submis ...

  4. POJ 3267:The Cow Lexicon(DP)

    http://poj.org/problem?id=3267 The Cow Lexicon Time Limit: 2000MS   Memory Limit: 65536K Total Submi ...

  5. The Cow Lexicon

    The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8815 Accepted: 4162 Descr ...

  6. HDOJ-三部曲-1015-The Cow Lexicon

    The Cow Lexicon Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) To ...

  7. POJ3267——The Cow Lexicon(动态规划)

    The Cow Lexicon DescriptionFew know that the cows have their own dictionary with W (1 ≤ W ≤ 600) wor ...

  8. BZOJ 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典

    题目 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 401  Solv ...

  9. POJ 3267-The Cow Lexicon(DP)

    The Cow Lexicon Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8252   Accepted: 3888 D ...

随机推荐

  1. RSS 订阅

    <?xml version="1.0"?><%@ Page Language="C#" AutoEventWireup="true& ...

  2. 网络A、B、C类IP地址的区别

    学网络之前得先要明白几个概念:(起初我也不怎么知道后来就慢慢会了) 1字节=8位,1位就是1个数字,所以1字节等于8个数字. 2的8次方,和二进制11111111转换为十进制并不一回事. 0-127是 ...

  3. 支持IE6的树形节结构TreeTable实际应用案例

    <script src="jquery.js" type="text/javascript"></script> <script ...

  4. Winform 导出Excel

    private void 导出excelToolStripMenuItem_Click(object sender, EventArgs e) { ) { var saveFileDialog1 = ...

  5. Python 的列表解析和生成表达式的异同

      Python中的列表解析和生成表达式是非常好的特性,他们的形式相似,但是应用场景不太一样. 相似点 列表解析和生成表达式最大的相似点是使用形式: [expr for iter_var in ite ...

  6. iblog语法高亮示例

    -------------------------------------------------------------------------------------- iblog 是一款 Sub ...

  7. DATE,DATETIME,DATETIME2等日期时间数据类型

    日期范围广 0001-01-01 到 9999-12-31.时间范围广 00:00:00 到 23:59:59.9999999. -----------------DATE --只存储日期 selec ...

  8. oracle-11g-配置dataguard

    1.环境信息:系统:oracle-linux 5.7 数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit P ...

  9. Oracle RAC中的一台机器重启以后无法接入集群

          前天有个同事说有套AIX RAC的其中一台服务器重启了操作系统以后,集群资源CSSD的资源一直都在START的状态,检查日志输出有如下内容: [    CSSD][1286]clssnmv ...

  10. C#TCPClient应用-一个简单的消息发送和接收

    TcpSend窗口用于发送消息,另外写一个用于接收消息的应用程序,消息接受到以后,必须要关闭接收消息的窗口,才能在接收新的消息,不知道怎么能解决这个问题. 源代码: 发送消息的窗口代码 using S ...