Problem B
来源:互联网 发布:网络成瘾的心理学治疗 编辑:程序博客网 时间:2024/04/29 17:28
abcfbc abfcabprogramming contest abcd mnp
420
简单题意:
现在给出两个序列X、Y,要求编写一个程序,求出这两个序列最长的公共上升子序列。
解题思路形成过程:
这和课上给出的例题本质是一样的。属于动态规划的经典入门题目。运用动态规划的思想,排除重复计算,得到最后的结果。
感想:
就只把课本上的例题吃透、想明白,也是对自己能力的一种很大的提高。
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char s1[1000],s2[1000];
int dp[1000][1000];
int len1,len2;
void LCS()
{
int i,j;
memset(dp,0,sizeof(dp));
for(i = 1; i<=len1; i++)
{
for(j = 1; j<=len2; j++)
{
if(s1[i-1] == s2[j-1])
dp[i][j] = dp[i-1][j-1]+1;
else
dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
}
}
}
int main()
{
while(~scanf("%s%s",s1,s2))
{
len1 = strlen(s1);
len2 = strlen(s2);
LCS();
printf("%d\n",dp[len1][len2]);
}
return 0;
}
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem b
- Problem B
- Problem B
- Problem-B
- Problem B
- Problem B
- Problem-B
- Problem B
- IE中的CSS3不完全兼容方案
- 系统分析
- iOS网络数据请求
- Problem I: C语言实验——打印数字图形
- 引用变量的强制转换类型
- Problem B
- Eclipse/MyEclipse 添加自定义注释变量
- DNS服务器搭建和设置
- Ubuntu下caffe安装过程中出现的问题与解决方案
- HDU 2029 Palindromes _easy version
- 图像正交变换
- 【BZOJ2588】Count on a tree,主席树维护链+ST表求LCA
- C++中的placement new
- Java内存溢出实例