uva_111
2012-09-21 15:53
423 查看
lcs模板题,看懂题目应该没有问题了。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define MAXN 21 int std_order[MAXN], submit_order[MAXN], dp[MAXN][MAXN]; int lcs(const int &n) { memset(dp, 0, sizeof(dp)); for(int i = 1; i <= n; i ++) { for(int j = 1; j <= n; j ++) { if( std_order[i] == submit_order[j] ) { dp[i][j] = dp[i-1][j-1]+1; continue; } dp[i][j] = max(dp[i][j-1], dp[i-1][j]); } } return dp ; } int main(int argc, char const *argv[]) { #ifndef ONLINE_JUDGE freopen("test.in", "r", stdin); #endif int n, v; scanf("%d", &n); memset(std_order, 0, sizeof(std_order)); for(int i = 1; i <= n; i ++) { scanf("%d", &v); std_order[v] = i; } while( ~scanf("%d", &v) ) { submit_order[v] = 1; for(int i = 2; i <= n; i ++) { scanf("%d", &v); submit_order[v] = i; } printf("%d\n", lcs(n)); } return 0; }
相关文章推荐
- 【DP】UVA 111 History Grading
- UVA 111 LCS
- 初学acmer--读《算法竞赛入门经典》笔记 p110-111 Uva101
- UVA 111 - History Grading
- UVa Problem 111 - History Grading
- UVA 111 简单DP 但是有坑
- uva 111 History Grading(LCS)
- UVA - 111 History Grading
- UVA 111 History Grading(动态规划 LIS)
- uva 111 History Grading
- UVA 111 历史考试
- uva 111(最长公共子序列)
- UVA 111 最长公共子序列(以错乱序号)
- UVA 111 History Grading
- UVA - 111 History Grading
- uva10003+uva765+uva111
- uva111 - History Grading(最长公共子序列LCS)
- (DP6.1.4.1)UVA 111 History Grading(最长递增子序列LIS 的LCS 解法)
- UVa 111 - History Grading
- 【解题报告】uva111_History Grading(历史考试, dp, LCS)