hdu1503Advanced Fruits【最长公共子序列】
来源:互联网 发布:千里眼远程监控软件 编辑:程序博客网 时间:2024/06/06 04:42
这个题是做的第一个LCS,与模板不同的是,这个题要求也按顺序输出每个串与另一个串不同的部分,这个时候就需要研究一下模板各个步骤的意义了==推荐:点击打开链接 的讲解 借一张图来说
看到回溯的路径没?每步找的都是最优解,圆圈中的是公共部分,路径上非圆圈的是其中一个串有,而另一个没有的,在这个题中就是要输出的部分,找好方向,so easy
/**********hdu15032016.2.120MS1664K1378 BG++**********/#include <iostream>#include<cstdio>#include<cstring>using namespace std;int m,n,b[110][110],c[110][110];char x[110],y[110];void cal(){ for(int i=0;i<=m;i++) c[i][0]=0; for(int i=0;i<=n;i++) c[0][i]=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(x[i-1]==y[j-1]) { b[i][j]=0; c[i][j]=c[i-1][j-1]+1; } else if(c[i-1][j]>c[i][j-1]) { b[i][j]=1; c[i][j]=c[i-1][j]; } else { b[i][j]=-1; c[i][j]=c[i][j-1]; } } }}void print(int i,int j){ if(i==0||j==0) { if(j) for(int k=0;k<j;k++) printf("%c",y[k]); if(i) for(int k=0;k<i;k++) printf("%c",x[k]); return; } if(b[i][j]==0) { print(i-1,j-1); printf("%c",x[i-1]); } else { if(b[i][j]==1){print(i-1,j);printf("%c",x[i-1]);} else {print(i,j-1);printf("%c",y[j-1]);} }}int main(){ // freopen("cin.txt","r",stdin); while(~scanf("%s%s",x,y)) { m=strlen(x); n=strlen(y); cal(); print(m,n); puts(""); } return 0;}
0 0
- hdu1503Advanced Fruits【最长公共子序列】
- hdu1503Advanced Fruits(动态规划之公共最长子序列+回溯路径)
- Advanced Fruits(最长公共子序列)
- hdu 1503 Advanced Fruits(最长公共子序列变形)
- POJ 2264 Advanced Fruits(最长公共子序列)
- hdoj 1503 Advanced Fruits 【最长公共子序列 变形】
- HDU 1503(Advanced Fruits)最长公共子序列+路径记录
- HDOJ 1503 Advanced Fruits (最长公共子序列 LCS)
- POJ 2264 Advanced Fruits--最长公共子序列
- hdu1503 Advanced Fruits(DP 最长公共子序列变形)
- hdu 1503 Advanced Fruits 最长公共子序列变形
- HDU 1503 Advanced Fruits (LCS最长公共子序列)
- HDU1503Advanced Fruits
- hdu 1503 Advanced Fruits 公共子序列
- hdoj.1503 Advanced Fruits【最长公共子序列】 2015/04/15
- hdu 1503 Advanced Fruits(最长公共子序列的应用)
- Advanced Fruits(合并字符串+最长公共子序列应用)hdu1503 +动态规划
- hdu 1503 Advanced Fruits(最长公共子序列+路径记录)
- JUnit Test NOSQL
- hdu1513Palindrome【最长公共子序列&滚动数组】
- 快速幂的学习
- Light OJ 1140 How Many Zeroes? (数位DP)
- 反向输入字符串--经典递归
- hdu1503Advanced Fruits【最长公共子序列】
- 第一天,First Blood
- 处理把BOOL值存入NSMutableDictionary,从NSMutableDictionary中取出BOOL值
- hdu4268 Alice and Bob(贪心)
- Codeforces 622
- [爬虫系列(一)]爬取豆瓣电影排行前250
- bzoj2588 Count on a tree dfs&主席树
- windows绘图-区域CRgn
- 开发环境