UVA 111 History Grading
2012-12-03 22:43
405 查看
大意似乎比较难懂,个人感觉就是简单的最长公共子序列。
话说今天开始我就开始弄DP啦,今天特地去打印了以前国家集训队关于DP的各种论文,用了10元呐,之后各种YY,各种想不通,唔,慢慢来吧,坚持就是胜利。
话说今天开始我就开始弄DP啦,今天特地去打印了以前国家集训队关于DP的各种论文,用了10元呐,之后各种YY,各种想不通,唔,慢慢来吧,坚持就是胜利。
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <string> #include <algorithm> using namespace std; const int MAXN = 1010; int x[MAXN], y[MAXN]; int d[MAXN][MAXN]; int n, m; void LCSlength(int n, int m) { for(int i = 1; i <= n; i++) d[i][0] = 0; for(int i = 1; i <= m; i++) d[0][i] = 0; for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) if(x[i] == y[j]) d[i][j] = d[i-1][j-1]+1; else d[i][j] = max(d[i-1][j], d[i][j-1]); printf("%d\n", d [m]); } int main() { int t; scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d", &t); x[t] = i; } while(~scanf("%d", &t)) { y[t] = 1; for(int i = 2; i <= n; i++) { scanf("%d", &t); y[t] = i; } LCSlength(n, n); } return 0; }
相关文章推荐
- (DP6.1.4.1)UVA 111 History Grading(最长递增子序列LIS 的LCS 解法)
- UVA 111 History Grading (最长公共子序列)
- 【DP】UVA 111 History Grading
- UVa 111|History Grading|动态规划|最长上升子序列
- UVaOJ111 - History Grading
- UVa 111 - History Grading
- 【DP】UVA 111 History Grading
- 【解题报告】uva111_History Grading(历史考试, dp, LCS)
- Uva - 111 - History Grading
- uva 111 History Grading(最长公共子序列)
- uva 111 History Grading
- uva 111 A - History Grading
- uva111 - History Grading(最长公共子序列LCS)
- UVA 111 History Grading
- UVa 111 - History Grading
- uva111 - History Grading (最长公共子序列)
- Uva - 111 - History Grading
- UVA 111 History Grading
- UVA - 111 History Grading
- UVA - 111 History Grading (动态规划:LCS)