String
来源:互联网 发布:mac 添加歌曲至资源 编辑:程序博客网 时间:2024/06/07 22:42
题目
有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大的长度和
分析
设
那么转移就是,当
但是,这时间复杂度是
所以,设
那么转移改为
这样,我们只要不断更新
时间复杂度是
#include <cmath>#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <queue>const int maxlongint=2147483647;const int mo=1000000007;const int N=1005;using namespace std;int g[N][N],n,m,k,tot,ans,next[N],f[12][N][N],mx[12][N][N];char s[N],t[N];int main(){ freopen("string.in","r",stdin); freopen("string.out","w",stdout); scanf("%d%d%d\n",&n,&m,&k); scanf("%s\n",s+1); scanf("%s\n",t+1); for(int l=1;l<=k;l++) for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(s[i]==t[j]) { f[l][i][j]=max(f[l][i-1][j-1],mx[l-1][i-1][j-1])+1; } mx[l][i][j]=max(mx[l][i][j-1],max(mx[l][i-1][j],f[l][i][j])); ans=max(ans,f[l][i][j]); } printf("%d",ans);}
1 0
- string
- String
- String
- string
- string
- String
- string
- String
- string
- string
- string
- string
- String
- String
- string
- string +
- String
- String
- Unity接入安卓程序,打包出错的解决办法
- jQuery 之 选择器与事件类型(二)
- Python使用hashlib模块做字符串加密
- Mysql 对比两张表数据
- pscp基本使用方法
- String
- Android实战技巧:如何在ScrollView中嵌套ListView
- <python> 匯入excel
- LeetCode 144. Binary Tree Preorder Traversal
- jquery实现隐藏的div出现时滑动效果
- Public Function和Function的区别
- Nearest Common Ancestors_poj1330_LCA
- 用as3.0写的简单的三消游戏demo
- 连接数据库不同方式会影响TTBF快慢