带跨越式的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. SQL21日自学通笔记(1)

    查找不重复数据 DISTINCT 查询日期 在access中格式是yyyy-mm-dd,Query执行的语句中用‘#’+Formatdata(‘yyyy-mm-dd’,date)+‘#’ SQL运算符 ...

  2. 第一个python程序

    一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...

  3. 【PC网站前端架构探讨系列】结合公司网站首页,谈前端模块化开发与网站性能优化实践

    说在前面 上午给大家分享的个人认为比较全,比较官方,比较清晰的grunt使用教程,被挪出首页了,不过没关系,毕竟不是原创,大家想看,我现在贴出地址: http://www.cnblogs.com/sy ...

  4. 用php实现一个敏感词过滤功能

    周末空余时间撸了一个敏感词过滤功能,下边记录下实现过程. 敏感词,一方面是你懂的,另一方面是我们自己可能也要过滤一些人身攻击或者广告信息等,具体词库可以google下,有很多. 过滤敏感词,使用简单的 ...

  5. 【转】C# GET 和 SET作用

    http://www.cnblogs.com/yinxiangpei/articles/2357091.html C#中get和SET,看来看去还是看不懂,通俗一点解释一下,用了有什么好处,不用会怎么 ...

  6. Source Insight 3.X 标签插件v1.0发布

    Source Insight可以说是一款程序员必备的开发/阅读源码工具,美中不足的是SI没有标签栏,多个源码之间切换很不方便,于是我就乘闲暇之余写了该作品sihook:标签插件;不过严格意义上来说si ...

  7. opencv支持的机器学习算法

    CXCORE库: Mahalanobis距离: K均值: CV库: 人脸检测/Haar分类器 ML库: 正态朴素贝叶斯分类器: 决策树: Boosting: 随机森林: EM算法: K近邻(KNN): ...

  8. js 时间函数封装

    html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  9. 关于 Pragma 的使用总结

    注意:此文乃是本人阅读多个博客文章后,记下的个人认为重点的地方. 参考文章: 参考1   参考2 #Pragma mark - 用于分离类中的不同功能的方法.(例如,一个 viewController ...

  10. python第一站

    python 第一站,豆瓣-美国末日评论小爬虫 最近学习python,但是光是看书看视频学习,总是觉得掌握的不够扎实.所以就决定自己去写写爬虫,当带着目的性去学,也许更容易发现自己需要什么.这是酝酿多 ...