计蒜客 最长共公子串
来源:互联网 发布:拍拍失败淘宝 编辑:程序博客网 时间:2024/05/17 02:23
一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。
输入格式:第一行两个字符串用空格分开。
输出格式:最长子串的长度。
两个串的长度均小于2000
样例输入
abccd aecd
样例输出
3
分析:dp求解,状态方程:dp[i][j]表示第一个串长度为i,第二个串长度为j时的最长公共子串
dp[i][j]=dp[i-1][j-1] (s1[i]==s2[j])
else
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
AC代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=2000+10;char s1[maxn],s2[maxn];int dp[maxn][maxn];int main(){while(scanf("%s%s",s1+1,s2+1)==2){int l1=strlen(s1+1);int l2=strlen(s2+1);memset(dp,0,sizeof(dp));for(int i=1;i<=l1;i++){for(int j=1;j<=l2;j++){if(s1[i]==s2[j]){dp[i][j]=dp[i-1][j-1]+1;}else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}printf("%d\n",dp[l1][l2]);}return 0;}
阅读全文
0 0
- 计蒜客 最长共公子串
- 最长共公子序列
- 求字符串列表中最长公子串
- 最长公子序列
- 最长重复字串和两字符串中最长公子子串问题
- 【动态规划】最长公子序列 - dp
- 最长公子序列 Longest Common Subsequence
- 利用最长公子序列求回文字符串
- 最长共公共子序列和最长公共子串
- 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 小王对既是素数又是回文的
- 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 Input 第一行两个字
- poj1080 最长公子序列变形(注意初始化)
- 源串修改为目标串共操作的次数以及最长公共子串
- 极品公子
- 朋友喜得公子
- 魏公子列传第十七
- 段公子 Facebook
- 当时若爱韩公子,埋骨成灰恨未休
- MFC 操作 Word表格
- JUnit自动化单元测试(三):各常用注解和测试函数详细讲解
- 《欢乐颂2》狗血的剧情才是生活该有的模样
- 隐马尔科夫模型与维特比算法
- linux安装中文版man
- 计蒜客 最长共公子串
- 视频弹幕Demo
- ajax的跨域处理之JSONP
- Jquery选择器
- margin-top、padding-top的值为百分比
- Idea的.jar包maven管理项目
- 自定义FlowLayout,android flowLayout实现
- 中文乱码问题(编码格式utf-8)
- PI新建一张表之IR篇章