The Cow Lexicon POJ - 3267 dp
题意 给出一个母串 和一个字典 问母串最少删去几个字母 删去后的母串是由字典里面的单词拼起来的
思路:dp[i]表示从i到母串结尾最少需要删除多少个字母 初始化dp[length]=0 最坏情况dp[i]=dp[i+1]+1
状态转移方程 dp[i]=min(dp[i],dp[p]+p-len-i) p 匹配单词的最后一个位置 len是字典里面单词的长度 i是开始匹配的位置 p-len-i的意义就是匹配过程中删除了多少个字母
参考:http://www.cnblogs.com/lyy289065406/archive/2011/07/31/2122638.html
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[];
char dir[][];
int dp[];
int main(){
int w,l;
scanf("%d%d",&w,&l);
scanf("%s",s);
for(int i=;i<w;i++){
scanf("%s",dir[i]);
}
dp[l]=;
for(int i=l-;i>=;i--){
dp[i]=dp[i+]+;
for(int j=;j<w;j++){
int len=strlen(dir[j]);
int pm=;
if(l-i+>=len&&s[i]==dir[j][]){
int p2=i;
while(p2<l){
if(dir[j][pm]==s[p2++]){
pm++;
}
if(pm==len){
dp[i]=min(dp[i],dp[p2]+p2-i-len);
break;
}
}
}
}
}
cout<<dp[]<<endl;
return ;
}
The Cow Lexicon POJ - 3267 dp的更多相关文章
- POJ 3267:The Cow Lexicon 字符串匹配dp
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8905 Accepted: 4228 D ...
- POJ 3267:The Cow Lexicon(DP)
http://poj.org/problem?id=3267 The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submi ...
- POJ 3267 The Cow Lexicon
又见面了,还是原来的配方,还是熟悉的DP....直接秒了... The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submis ...
- POJ 3267-The Cow Lexicon(DP)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8252 Accepted: 3888 D ...
- poj 3267 The Cow Lexicon (动态规划)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8167 Accepted: 3845 D ...
- POJ3267 The Cow Lexicon(DP+删词)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9041 Accepted: 4293 D ...
- poj3267--The Cow Lexicon(dp:字符串组合)
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8211 Accepted: 3864 D ...
- POJ 3267为什么优先队列超时,DP就能过,难过
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11846 Accepted: 5693 Desc ...
- The Cow Lexicon
The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8815 Accepted: 4162 Descr ...
随机推荐
- STL queue用法
先进先出 #include<iostream> #include<algorithm> #include<cstdio> #include<stack> ...
- Linux安装Apache常见报错(二)
配置Apache提示报错configure error: APR could not be located. Please use the --with-apr option. 解决办法: ./con ...
- (第十三周)评论Final发布I
本人所在组:奋斗吧兄弟 按课上展示的顺序对每组进行点评: 1. Nice 项目:约跑软件 展示的时候使用了摄像头投影,提高了演示效果,软件的背景进行了美化,表现好了很好.解决了我们组提出的文字多挤没 ...
- mysql-SQL Error: 1205, SQLState: 41000
mysql-SQL Error: 1205, SQLState: 41000——CSDN问答频道https://ask.csdn.net/questions/176492 mysql-SQL Erro ...
- react初入门
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 游标cursor案例
- Docker部署运行springboot项目,并使用Dockerfile制作镜像
前言: 本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独 ...
- Day1 基础知识
数据类型,字符编码 二进制: 定义:二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是 ...
- ssh 登陆服务器原理
这里分两种情况,这两种情况都涉及到公钥加密的概念. 由于公钥加密概念作为基础就不在本文进行讨论了. 使用ssh对远程服务器进行密码登录发生了什么: 客户端通过ssh连接服务器 1. 首先服务器把自己的 ...
- AspectJ用注解替换xml配置
AspectJ基于注解的使用 AspectJ简介 AspectJ是一个基于Java语言的AOP框架,一般 其主要用途:自定义开发 一般情况下spring自动生成代理,要配置aop, 首先确定目标类,a ...