Hdu 4681 2013 Multi-University Training Contest 8 String
带跨越式的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的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- HDU 6102 - GCDispower | 2017 Multi-University Training Contest 6
个人感觉题解的复杂度很玄,参不透,有没有大佬讲解一下- - /* HDU 6102 - GCDispower [ 数论,树状数组] | 2017 Multi-University Training C ...
随机推荐
- JavaScript 三级联动
附件连接下载地址:http://files.cnblogs.com/files/CaktyRiven/js.zip <!DOCTYPE html> <html lang=" ...
- tomcat下jsp要加工程名后缀才能访问的问题解决
今天发现一个部署的项目,在tomcat中配置了去掉工程名,直接通过域名访问.配置后其它的html.动态请求等都可以不带工程名访问,但是只要访问jsp页面就报404错误,加上工程名访问jsp却又正常. ...
- 复制文件的问题:使用FileInputStream和FileOutputStream实现文件复制
public class Test{ public static void main(String [] args) { Test t=new Test(); t.upload(); } public ...
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-1 前言
视频简介: 该视频介绍收到iCore3应用开发平台后如何获取出厂代码,以 及如何下载出厂代码到应用开发平台中. 源视频包下载地址: http://pan.baidu.com/s/1nuUZW17 ...
- jackson注解使用心得
maven依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId ...
- bootstrap 3 中表单元素的写法 ---- 重点是 input file 元素的
我们知道file元素,因为有许多的插件可以使用,往往我们不需要写样式,但是如果要求我们自己写样式(利用bootstrap 3)实现一个file极简样式如何写呢? 下面我们先来看看整个表单的样子! 重点 ...
- 微信小程序 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html
微信小程序 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html 友情提示: 大家 ...
- mysql删除重复记录,保存Id最小的一条
方法1:1.创建一个临时表,选取需要的数据.2.清空原表.3.临时表数据导入到原表.4.删除临时表.mysql> select * from student;+----+------+| ID ...
- Socket练习
第一类方法 package socketLianXi; import java.io.IOException; import java.io.InputStreamReader; import jav ...
- angular $scope对象
$scope是一个pojo对象 $scope提供了一些工具方法.例如:$watch() $apply(),一般不会手工去调用 $scope是表达式的执行环境也叫作用域 $scope是一个树形结构,与D ...