摘要: \(reference\) \(problem\) 首先考虑最长公共子序列,需要两维数组,最长上升子序列,需要一维数组 由于最长公共子序列满足两个子序列相同,因此我们可以将二维数组的一维拿出来当作最长上升子序列的一维使用 故定义 \(f[i][j]\):以 \(b[j]\) 结尾的最长公共上升子序列 阅读全文
posted @ 2024-03-20 11:46 光風霽月 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 题目链接 参考 在最长公共子序列问题中,状态的划分有两类: \(a[i]==b[j]\) f[i][j]=f[i-1][j-1]+1; \(a[i]!=b[j]\) f[i][j]=max(f[i-1][j],f[i][j-1],f[i-1][j-1]) 不过,考虑到 \(f[i-1][j-1]\) 阅读全文
posted @ 2024-03-20 09:42 光風霽月 阅读(17) 评论(0) 推荐(0) 编辑