带跨越式的LCS,同样是在朴素的LCS上加入一种跨越一段的转移,这样我们要预处理出跨越一段给定串的转移函数。

这个题同样可以正反两边LCS做

呆马:

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define inf 0x3f3f3f3f
#define maxn 1020 using namespace std; char s[maxn],t[maxn],d[maxn];
int f[][maxn][maxn],bs[maxn][maxn],bt[maxn][maxn]; int main()
{
int Case;
scanf("%d",&Case);
for (int o=;o<=Case;o++)
{
scanf(" %s %s %s",s+,t+,d+);
int ls=strlen(s+), lt=strlen(t+), ld=strlen(d+);
memset(bs,,sizeof(bs)); for (int i=;i<=ls;i++)
if (s[i]==d[]) bs[][i]=i;
else bs[][i]=bs[][i-];
for (int i=;i<=ld;i++)
for (int j=;j<=ls;j++)
if (s[j]==d[i]) bs[i][j]=bs[i-][j-];
else bs[i][j]=bs[i][j-]; memset(bt,,sizeof(bt)); for (int i=;i<=lt;i++)
if (t[i]==d[]) bt[][i]=i;
else bt[][i]=bt[][i-];
for (int i=;i<=ld;i++)
for (int j=;j<=lt;j++)
if (t[j]==d[i]) bt[i][j]=bt[i-][j-];
else bt[i][j]=bt[i][j-]; memset(f,,sizeof(f));
for (int i=;i<=ls;i++)
for (int j=;j<=lt;j++)
{
f[][i][j]=max(f[][i-][j],f[][i][j-]);
f[][i][j]=max(f[][i-][j],f[][i][j-]);
if (s[i]==t[j])
{
f[][i][j]=max(f[][i][j],f[][i-][j-]+);
if (f[][i-][j-])
f[][i][j]=max(f[][i][j],f[][i-][j-]+);
}
if (bs[ld][i] && bt[ld][j])
f[][i][j]=max(f[][i][j],f[][bs[ld][i]-][bt[ld][j]-]+ld);
}
printf("Case #%d: %d\n",o,f[][ls][lt]);
}
return ;
}

string

Hdu 4681 2013 Multi-University Training Contest 8 String的更多相关文章

  1. hdu 4915 Parenthese sequence--2014 Multi-University Training Contest 5

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4915 Parenthese sequence Time Limit: 2000/1000 MS (Ja ...

  2. hdu 4902 Nice boat--2014 Multi-University Training Contest 4

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=4902 Nice boat Time Limit: 30000/15000 MS (Java/Othe ...

  3. hdu 4925 Apple Tree--2014 Multi-University Training Contest 6

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4925 Apple Tree Time Limit: 2000/1000 MS (Java/Others ...

  4. HDU校赛 | 2019 Multi-University Training Contest 6

    2019 Multi-University Training Contest 6 http://acm.hdu.edu.cn/contests/contest_show.php?cid=853 100 ...

  5. HDU校赛 | 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 http://acm.hdu.edu.cn/contests/contest_show.php?cid=852 100 ...

  6. HDU校赛 | 2019 Multi-University Training Contest 4

    2019 Multi-University Training Contest 4 http://acm.hdu.edu.cn/contests/contest_show.php?cid=851 100 ...

  7. HDU校赛 | 2019 Multi-University Training Contest 3

    2019 Multi-University Training Contest 3 http://acm.hdu.edu.cn/contests/contest_show.php?cid=850 100 ...

  8. HDU校赛 | 2019 Multi-University Training Contest 2

    2019 Multi-University Training Contest 2 http://acm.hdu.edu.cn/contests/contest_show.php?cid=849 100 ...

  9. HDU校赛 | 2019 Multi-University Training Contest 1

    2019 Multi-University Training Contest 1 http://acm.hdu.edu.cn/contests/contest_show.php?cid=848 100 ...

  10. HDU 6102 - GCDispower | 2017 Multi-University Training Contest 6

    个人感觉题解的复杂度很玄,参不透,有没有大佬讲解一下- - /* HDU 6102 - GCDispower [ 数论,树状数组] | 2017 Multi-University Training C ...

随机推荐

  1. 手机版本高于xcode,xcode的快速升级

    iPhone手机更新版本,xcode未更新时,不能真机测试 在xcode show in finder里面添加最新iPhone 版本 重启xcode即可 真机测试

  2. Android组件安全

    今天在看有关Android组件安全的东西 1.Activity Android系统组件在指定Intent过滤器(intent-filter)后,默认是可以被外部程序(签名不同,用户ID不同)访问的,在 ...

  3. VS启用调试

    今天访问127.0.0.1  发现 与localhost 不是访问的同一个内容. 于是乎,就向到了另一个方法来调试程序. 1.在IIS 建立站点 并指向程序源. 2.启动vs 调试→附加到进程→找到w ...

  4. php 获取中文长度 截取中文字符串

    #获取中文长度mb_strlen($str,$encoding); #截取中文字符串 mb_substr(str,start,length,encoding);

  5. 自动化测试工具——JMeter

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文 ...

  6. Git实用命令手册

    下载代码 git clone <git地址> 用户配置 git config —-global user.name <name> git config —-global use ...

  7. SpringBoot RESTful 应用中的异常处理小结

    转载:https://segmentfault.com/a/1190000006749441 @ControllerAdvice 和 @ExceptionHandler 的区别 ExceptionHa ...

  8. 使用NUGet自动下载(还原)项目中使用的包

    签出完整项目后,在解决方案名称上点右键,选择"启用NuGet程序包还原",如下图: 出现询问,当然要点是:是 当完成后,会发现在解决方案中,多出".nuget" ...

  9. python入门到精通[三]:基础学习(2)

    摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...

  10. asp.net mvc 5 web api 关于Requested resource does not support options 问题

    1.用visual studio 2015 建立一个 web api 应用程序.记住这是一个 web api 应用. 2.新建一个web api . 3.用C#访问,代码如下:[没有问题,返回正确] ...