GeeksforGeeks 1439 Longest Common Substring
来源:互联网 发布:ubuntu 12 万m光口 编辑:程序博客网 时间:2024/05/21 09:33
题目
教程
求两个字符串的最长公共子串
DP
dp[i][j] 表示 X[0..i]到 Y[0..j]中的最长后缀长度
显然如果 x[i - 1] != Y[j - 1] 那么后缀就不相同了 所以是0
不然就是 dp[i - 1][j - 1] + 1
所有子串的最大相同后缀就是最大相同字串
#include <bits/stdc++.h>using namespace std;int LCSubstring(int A, int B, string X, string Y){ vector<vector<int> > dp; dp.resize(A + 1); int ret = 0; for (int i = 0; i <= A; i++) { dp[i].resize(B + 1); for (int j = 0; j <= B; j++) { if (i == 0 || j == 0) continue; if (X[i - 1] == Y[j - 1]) { dp[i][j] = dp[i - 1][j - 1] + 1; ret = max(ret, dp[i][j]); } } } return ret;}void solve(){ int A, B; scanf("%d%d\n", &A, &B); string X, Y; getline(cin, X); getline(cin, Y); cout << LCSubstring(A, B, X, Y) << endl;}int main(){ //freopen("in", "r", stdin); int T; scanf("%d\n", &T); while (T--) { solve(); }}
0 0
- GeeksforGeeks 1439 Longest Common Substring
- DP29 最长相同子串 Longest Common Substring @geeksforgeeks
- Longest common substring
- spoj1811 Longest Common Substring
- Longest Common Substring
- Longest common subsequence / substring
- HDU1403 Longest Common Substring
- Lintcode - Longest common substring
- longest common substring
- Longest Common Substring
- lintcode:Longest Common Substring
- [刷题]Longest Common Substring
- longest-common-substring
- Longest Common Substring
- PIQ19: Longest Common Substring
- Longest Common Substring
- #79 Longest Common Substring
- C - Longest Common Substring
- php168注入+XSS
- 1、Linux基本命令
- ALGO-156 表达式计 算蓝桥杯
- php和js保留两位小数
- HeadFirstSQL学习笔记(三)
- GeeksforGeeks 1439 Longest Common Substring
- C#92课的主要内容
- 基于Socket编程的远程控制PC音乐播放器App(二)
- loadrunner linux的temp文件清理
- mySql\oracle分页机制
- Javascript本地日志记录(限制文件个数,限时文件大小)
- keras 实现CNN 进行手写字符识别
- View的位置参数及其Scroller类的理解
- Android View 截屏功能的实现