hdu4681String
http://acm.hdu.edu.cn/showproblem.php?pid=4681
枚举A串和B串包含C串的区间 枚举区间端点算左右两端最长公共子序
#include <iostream>
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<algorithm>
using namespace std;
#define N 1010
char s1[N],s2[N],s3[N];
int dp1[N][N],dp2[N][N];
struct node
{
int l,r;
}p1[N],p2[N];
int main()
{
int i,j,t,k1,k2,k3,kk=;
scanf("%d",&t);
while(t--)
{
kk++;
memset(dp1,,sizeof(dp1));
memset(dp2,,sizeof(dp2));
scanf("%s%s%s",s1,s2,s3);
k1 = strlen(s1);
k2 = strlen(s2);
k3 = strlen(s3);
for(i = ; i <= k1 ; i++)
for(j = ; j <= k2 ;j++)
{
if(s1[i-]==s2[j-])
dp1[i][j] = dp1[i-][j-]+;
else
dp1[i][j] = max(dp1[i-][j],dp1[i][j-]);
}
for(i = k1 ; i>= ; i--)
for(j = k2 ; j >= ; j--)
{
if(s1[i-]==s2[j-])
dp2[i][j] = dp2[i+][j+]+;
else
dp2[i][j] = max(dp2[i+][j],dp2[i][j+]);
}
int g = ;j=;
for(i = ; i < k1 ; i++)
if(s1[i]==s3[j])
{
j++;int a=i;
if(j<k3)
{
for(a = i+ ; a < k1 ; a++)
{
if(s1[a]==s3[j])
j++;
if(j==k3)
break;
}
}
if(j==k3)
{
g++;
p1[g].l = i;
p1[g].r = a+;
}
j = ;
}
int o=;j=;
for(i = ; i < k2 ; i++)
if(s2[i]==s3[j])
{
j++;int a=i;
if(j<k3)
{
for(a = i+ ; a < k2 ; a++)
{
if(s2[a]==s3[j])
j++;
if(j==k3)
break;
}
}
if(j==k3)
{
o++;
p2[o].l = i;
p2[o].r = a+;
}
j = ;
}
int maxz=;
for(i = ; i <= g ; i++)
for(j = ; j <= o ; j++)
{
int x = dp1[p1[i].l][p2[j].l],x2 = dp2[p1[i].r+][p2[j].r+];
maxz = max(maxz,x+x2);
}
printf("Case #%d: %d\n",kk,maxz+k3);
}
return ;
}
hdu4681String的更多相关文章
随机推荐
- touches,motion触摸事件响应
//触摸事件响应需要重写方法 1 // 触摸时触发该方法(消息发送) - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent: ...
- OC4_可变数组
// // main.m // OC4_可变数组 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxuemi ...
- [翻译][MVC 5 + EF 6] 9:异步和存储过程
原文:Async and Stored Procedures with the Entity Framework in an ASP.NET MVC Application 1.为什么使用异步代码: ...
- HDOJ(1000) A + B Problem
代码如下: #include <stdio.h> int main(void) { int a, b; ){ printf("%d\n", a+b); } ; }
- java感触一则
看到开源中国上边有那么多关于java的开源项目,从数据库到3D游戏再到IDE工具,甚至有iQQ,形形种种都是一些比较成熟的,工程很大的项目.才意识到Java是如此的强大和流行. 这么多开源的代码我不可 ...
- DataNavigator之分页
前言 做客户端也有两个月了,先前做列表都没有分页,可能考虑数据也不是很多,昨天做了一个页面,考虑到了数据的问题,所以改为分页查询.因为也是第一次用dev,用哪个控件分页呢,还是要去搜一下,得出的事Da ...
- php中的preg系列函数
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int ...
- 针对目前高校移动App的火热,哥决定点一把火
最近正在做市场调研,还请众位大哥大姐们帮忙投个票,求扩散 http://user.qzone.qq.com/717010686/vote/00000000feb6bc2a3ebd1e53
- puppet 部署 horizon server 所需的参数和部署逻辑
所需要的参数: $secret_key, $bind_address = '127.0.0.1', $cache_server_ip = '127.0.0.1', $cache_ser ...
- 一个令人困惑的低效SQL
整理之前的优化案例,觉得下面这个应该是开发很难发现也会很困惑的一个低效SQL. 看下面这个SQL.你看到这个SQL会不会感觉很正常.其实我刚看到也觉得正常得不得了.但是测试后它确实效率很低.selec ...