HDU4681 String(dp)
题目链接。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string> using namespace std; const int maxn = +; char s1[maxn], s2[maxn], s3[maxn];
int dp1[maxn][maxn], dp2[maxn][maxn];
int que1[maxn][], que2[maxn][]; void max_dp(char *s1, char *s2, int (*dp)[maxn]) {
int len1 = strlen(s1), len2 = strlen(s2); for(int i=; i<len1; i++) dp[i][] = ;
for(int i=; i<len2; i++) dp[][i] = ; for(int i=; i<=len1; i++) {
for(int j=; j<=len2; j++) {
if(s1[i-] == s2[j-]) dp[i][j] = dp[i-][j-]+;
else dp[i][j] = max(dp[i-][j], dp[i][j-]);
}
}
} void str_rev(char *s) {
int len = strlen(s);
for(int i=; i<len/; i++) swap(s[i], s[len--i]);
} int get_str(char *s1, char *s2, int (*que)[]) {
int len1 = strlen(s1), len2 = strlen(s2);
int n = ; for(int i=; i<len1; i++) {
if(s1[i] == s2[]) {
int k = , j;
for(j=i+; j<len1; j++) {
if(s1[j] == s2[k]) k++;
if(k == len2) break;
}
if(k == len2) {
que[n][] = i;
que[n++][] = j;
}
}
} return n;
} int main() {
int T; scanf("%d", &T);
for(int kase=; kase<=T; kase++) {
scanf("%s %s %s", s1, s2, s3); int len1 = strlen(s1);
int len2 = strlen(s2);
int len3 = strlen(s3); int n1 = get_str(s1, s3, que1);
int n2 = get_str(s2, s3, que2); max_dp(s1, s2, dp1); str_rev(s1);
str_rev(s2); max_dp(s1, s2, dp2); int ans = ;
for(int i=; i<n1; i++) {
for(int j=; j<n2; j++) {
ans = max(ans, dp1[que1[i][]][que2[j][]]+dp2[len1-que1[i][]-][len2-que2[j][]-]+len3);
}
} printf("Case #%d: ", kase);
printf("%d\n", ans);
} return ;
}
HDU4681 String(dp)的更多相关文章
- hdu 4055 Number String(dp)
Problem Description The signature of a permutation is a string that is computed as follows: for each ...
- hdu5707-Combine String(DP)
Problem Description Given three strings a, b and c , your mission is to check whether c is the combi ...
- CodeForces - 710E Generate a String (dp)
题意:构造一个由a组成的串,如果插入或删除一个a,花费时间x,如果使当前串长度加倍,花费时间y,问要构造一个长度为n的串,最少花费多长时间. 分析:dp[i]---构造长度为i的串需要花费的最短时间. ...
- HDU4055 - number string(DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4055 思路:dp[i][j]表示处理前i个字符以j结尾可能的序列数. 当a[i]=='I'时,dp[i ...
- HDU 4055:Number String(DP计数)
http://acm.hdu.edu.cn/showproblem.php?pid=4055 题意:给一个仅包含‘I','D','?'的字符串,’I'表示前面的数字比后面的数字要小(Increase升 ...
- Educational Codeforces Round 16 E. Generate a String (DP)
Generate a String 题目链接: http://codeforces.com/contest/710/problem/E Description zscoder wants to gen ...
- HDU 5707 Combine String (DP,LCS变形)
题意:给定三个字符串,问你第三个是不是由第一个和第二个组成的. 析:当时比赛是没有做出来啊...一直WA,就是没有判断长度,第一个和第二个和是不是和第三个一样,这个忘记... 我们用d[i][j]表示 ...
- HDU-4681 String 枚举+DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 题意:给A,B,C三个串,求一个最长的串D,满足D是A和B的subsequence,C是D的su ...
- HUST 4681 String (DP LCS变形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 题目大意:给定三个字符串A,B,C 求最长的串D,要求(1)D是A的字序列 (2)D是B的子序列 ...
随机推荐
- mysqldump备份数据库时出现when using LOCK TABLES
用mysqldump备份数据库时,如果出现when using LOCK TABLES,解决办法是加上 --skip-lock-tables 例如: 用mysqldump备份数据库时出现 29: Fi ...
- nodejs 按行读取 readline
fs.mkdirSync('./yotmp'); } log(out); input: file, ...
- cookingk配置项中的chunk:true含义
学习cooking,查看中文文档,发现有个配置chunk: true, 不明白具体含义,于是根据注释,找到了相关代码, 即chunk: true等同于以下代码: var webpackConfig = ...
- CentOS 6.7编译安装MySQL 5.6
1.安装前准备 yum install make gcc gcc-c++ ncurses-devel perl bison-devel yum groupinstall "Developme ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之入门简单例子(一)
// VacationRequest.java /** * author : 冯孟活 ^_^ * dates : 2015年9月1日 下午10:32:58 * class : 演示简单的公司请假流程 ...
- equals函数的作用
1.equals函数在什么地方 在Object类中,写法与==一样,但是我们用的时候要重写这个equals方法 String类型中的equals是复写好的 2.equals函数的作用 ==号在比较两个 ...
- 玩转CSLA.NET小技巧系列二:使用WCF无法上传附件,提示413 Entity Too Large
背景:由于系统需要展示图片,客户上传图片到本地客户端目录,然后在数据库中存储本地图片地址,和图片二进制数据 错误原因:我是使用CSLA的WCF服务,使用了数据门户,WCF协议使用的是wsHttpBin ...
- iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority【转】
原文:http://www.mgenware.com/blog/?p=491 接上文:iOS: 在代码中使用Autolayout (1) – 按比例缩放和优先级. 我们继续来看在代码中使用Autola ...
- KTV2
自制KTV点歌系统经验 重唱与切歌 1.重唱 这个简单,会了播放,就会了这个; 我们用的数组下标来确定播放歌曲,自然如果下标没变的话,那播放的就还是这首了.所以只要确定了要执行的命令是重唱就行了. 那 ...
- 64位系统下System32文件系统重定向
前言 因为一次偶然的机会,需要访问系统目录“C:/Windows/System32“文件夹下的内容,使用的测试机器上预装了win7 64系统.在程序运行中竟然发生了该文件路径不存在的问题!!通过查看网 ...