hdu1423LCIS zoj2432 必须掌握!】的更多相关文章

LCIS就是最长上升公共子序列,要结合LIS和LCS来求 LIS:f[j]=max(f[i])+1; LCS:f[i,j]=max(f[i-1,j],f[i,j-1]或f[i-1,j-1]+1 那么对于LCIS,定义f[i][j]是以B[j]为结尾的最长公共上升子序列长度, 如果A[i]!=B[j],那么f[i][j]=f[i-1][j], 否则 f[i][j]=max(d[i-1][k])+1;1<=k<=j-1 最后扫描一次f[n][j],找到最大的 zoj2432需要用pre数组保存前驱…
zoj2431  http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2432 hdoj 1423 http://acm.hdu.edu.cn/showproblem.php?pid=1423 题意: 一看题目题意就很明显了, 两个数组a,b,求出两个数组公共的最长的上升子序列(可以不是连续的子序列). 分析: 如果做过[最长公共子序列](http://blog.csdn.net/wangdan11111/article/de…
/* 首先,dp的最开始是定义状态 dp[i][j] 表示A串的前i个,与B串的前j个,并以B[j]为结尾的LCIS 的长度. 状态转移方程: if(A[i]==B[j]) dp[i][j]=max(dp[i-1][k])+1; ( 1 <= k < j ) else dp[i][j]=dp[i-1][j]; 然后选择循环顺序,就可以将算法的复杂度降为n*n. 转自:http://www.cnblogs.com/chenhuan001/archive/2013/03/26/2982677.ht…
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 POJ1016 POJ1017 POJ1169 POJ1298 POJ1326 POJ1350 POJ1363 POJ1676 POJ1786 POJ1791 POJ1835 POJ1970 POJ2317 POJ2325 POJ2390 POJ1012 POJ1082 POJ1099 POJ1114…