题意:求三个序列的最长公共子序列。

思路:一开始以为只要求出前两个的LCS,然后和第三个再求一遍LCS就是答案了。但是样例就对我进行啪啪啪打脸了。实际上就跟两个序列的差不多,换成三维的就行了。

代码:需要注意的是max速度比较慢,最后改成if

 #include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int N=;
int dp[N][N][N];
char a[N],b[N],c[N];
void LCS()
{
int la=strlen(a),lb=strlen(b),lc=strlen(c),i,j,k;
memset(dp,,sizeof(dp));
for(i=;i<=la;i++)
{
for(j=;j<=lb;j++)
{
for(k=;k<=lc;k++)
{
if(a[i-]==b[j-]&&a[i-]==c[k-])
dp[i][j][k]=dp[i-][j-][k-]+;
else
{
if(dp[i-][j][k]>dp[i][j][k]) dp[i][j][k]=dp[i-][j][k];
if(dp[i-][j-][k]>dp[i][j][k]) dp[i][j][k]=dp[i-][j-][k];
if(dp[i-][j][k-]>dp[i][j][k]) dp[i][j][k]=dp[i-][j][k-];
if(dp[i][j-][k]>dp[i][j][k]) dp[i][j][k]=dp[i][j-][k];
if(dp[i][j-][k-]>dp[i][j][k]) dp[i][j][k]=dp[i][j-][k-];
if(dp[i][j][k-]>dp[i][j][k]) dp[i][j][k]=dp[i][j][k-];
}
}
}
}
}
int main()
{
while(scanf("%s%s%s",a,b,c)!=EOF)
{
LCS();
printf("%d\n",dp[strlen(a)][strlen(b)][strlen(c)]);
}
return ;
}

CSU 1060 Nearest Sequence的更多相关文章

  1. STL or 线段树 --- CSU 1555: Inversion Sequence

    Inversion Sequence Problem's Link:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1555 Mean: 给你一 ...

  2. CSU 2005: Nearest Maintenance Point(Dijkstra + bitset)

    Description A county consists of n cities (labeled 1, 2, …, n) connected by some bidirectional roads ...

  3. CSU 2005 Nearest Maintenance Point(最短路+bitset)

    https://vjudge.net/problem/CSU-2005 题意:给出带权值的图,图上有一些特殊点,现在给出q个询问,对于每个询问,输出离该点最近的特殊点,如果有多个,则按升序输出. 思路 ...

  4. scau 2015寒假训练

    并不是很正规的.每个人自愿参与自愿退出,马哥找题(马哥超nice么么哒). 放假第一周与放假结束前一周 2015-01-26 http://acm.hust.edu.cn/vjudge/contest ...

  5. Inversion Sequence(csu 1555)

    Description For sequence i1, i2, i3, … , iN, we set aj to be the number of members in the sequence w ...

  6. CSU 1515 Sequence (莫队算法)

    题意:给n个数,m个询问.每个询问是一个区间,求区间内差的绝对值为1的数对数. 题解:先离散化,然后莫队算法.莫队是离线算法,先按按询问左端点排序,在按右端点排序. ps:第一次写莫队,表示挺简单的, ...

  7. CSU 1515 Sequence

    莫队算法+map #include<cstdio> #include<cstring> #include<cmath> #include<map> #i ...

  8. CSU 2018年12月月赛 B 2214: Sequence Magic

    Description 有一个1到N的自然数序列1,2,3,...,N-1,N. 我们对它进行M次操作,每次操作将其中连续的一段区间 [Ai,Bi][Ai,Bi] (即第Ai个元素到第Bi个元素之间的 ...

  9. Wow! Such Sequence!(线段树4893)

    Wow! Such Sequence! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...

随机推荐

  1. TCMalloc优化MySQL、Nginx内存管理

    TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员. 与标准的glibc库的Malloc相比,TCMalloc库在内存 ...

  2. Verilog学习笔记基本语法篇(十)········ 常用系统函数

    $display 和 $write 任务 格式: $display (p1,p2,...,pn); $write (p1,p2,..,pn); 这两个函数和系统的任务作用是用来输出信息,即将参数p2到 ...

  3. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  4. [转载]hashmap hashtable 的区别

    Hashtable 和 HashMap 做为 Map 的基本特性 两者都实现了Map接口,基本特性相同 -          对同一个Key,只会有一个对应的value值存在 -          如 ...

  5. php生成静态文件

    1,通用生成方法 //获取文件内容 $content=file_get_contents("http://www.google.com/" ); $id=110; $filenam ...

  6. Linux下的crontab命令使用特别须注意的地方

    1.如果命令中涉及到了年月日(如:date +%C%y%m%d),其中%必须进行转义,如下: date +\%C\%y\%m\%d 2.使用到的命令必须使用完整的路径: * * * /home/yxf ...

  7. AJAX请求中含有数组解决办法

    当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台,比如有这样一个数据需要发送给后台: { "orderId": 22, &quo ...

  8. HTML <map> 标签-创建带有可点击区域的图像映射

    定义和用法 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 所有主流浏览器都支持 <map> 标签. 注释:area 元素永远嵌套在 map 元素内部. ...

  9. SAP中关于用户IP信息的获取(转载)

    SAP中如何获取登录用户的IP? 或如何查看哪些IP登录到SAP中: 在Table: USR41中查看,具体字段的说明如下: MANDT   ---   ClientBNAME   ---   登录的 ...

  10. SAP中获取当前用户相关信息的两个函数

    函数名:TH_USER_LIST作用:可以得到SM04界面显示样式的表. 函数名:TH_USER_INFO作用:可以得到当前特定用户的机器名.当前活动窗口数.IP地址等信息