zoj 1733 - Common Subsequence
2014-09-16 08:40
393 查看
题目:最大公共子序列。
分析:dp,LCS。赤果果的LCS。
状态f(i,j)为A[1..i]与B[1..j]的LCS,则有转移方程:
f(i,j) = f(i-1,j-1)+ 1 { A[i] = B[j] };
max(f(i-1,j),f(i,j-1)) { A[i] ≠ B [j] } 。
说明:(2011-09-21 12:52)
分析:dp,LCS。赤果果的LCS。
状态f(i,j)为A[1..i]与B[1..j]的LCS,则有转移方程:
f(i,j) = f(i-1,j-1)+ 1 { A[i] = B[j] };
max(f(i-1,j),f(i,j-1)) { A[i] ≠ B [j] } 。
说明:(2011-09-21 12:52)
#include<iostream> #include<cstdlib> using namespace std; string a,b; int common[ 201 ][ 201 ]; int main() { while ( cin >> a >> b ) { int len1 = a.length(); int len2 = b.length(); for ( int i = 0 ; i <= len1 ; ++ i ) common[ i ][ 0 ] = 0; for ( int i = 0 ; i <= len2 ; ++ i ) common[ 0 ][ i ] = 0; for ( int i = 1 ; i <= len1 ; ++ i ) for ( int j = 1 ; j <= len2 ; ++ j ) if ( a[ i-1 ] == b[ j-1 ] ) common[ i ][ j ] = common[ i-1 ][ j-1 ] + 1; else common[ i ][ j ] = max( common[ i-1 ][ j ] , common[ i ][ j-1 ] ); cout << common[ len1 ][ len2 ] << endl; } return 0; }
相关文章推荐
- ZOJ 1733 Common Subsequence(LCS)
- POJ 1458 Common Subsequence (zoj 1733 ) LCS
- ZOJ - 1733 Common Subsequence
- zoj 1733 Common Subsequence
- zoj 1733 || poj 1458 Common Subsequence(最长公共子序列)
- ZOJ 1733 Common Subsequence【DP】
- ZOJ 1733(Common Subsequence)
- zoj 1733 || hdu 1159 Common Subsequence(Easy , classics DP)
- zoj 1733 Common Subsequence
- ZOJ 1733 Common Subsequence(LCS)
- POJ 1458 Common Subsequence (zoj 1733 ) LCS
- ZOJ 2432 Greatest Common Increasing Subsequence——dp
- zoj 2432 Greatest Common Increasing Subsequence(最长公共上升子序列)
- zoj 2432 && hdoj 1423 Greatest Common Increasing Subsequence 【打印LCIS】
- ZOJ 2432 Greatest Common Increasing Subsequence(最长公共上升子序列+路径打印)
- HDU1423&ZOJ2432 - Greatest Common Increasing Subsequence(LCIS最长公共上升子序列模板)
- Greatest Common Increasing Subsequence
- 【hdu 1159】Common Subsequence(LCS模板)
- POJ 1458 Common Subsequence-dp-(最长公共子序列模型)
- HDU 1159 Common Subsequence 最长公共子序列