摘要: 题意:给2个字符串求其最大公共子序列的长度。解法:这个和一般的状态定义有点不一样,f[i][j]表示 str 前i位和 str2 前j的最大公共子序列的长度,而不是选 str 的第i位和 str2 的第j位。仔细想想就可以知道只表示“前...”的状态可以保证每次拓展答案时,之前的状态已经保证了“公共 阅读全文
posted @ 2016-09-25 17:15 konjac蒟蒻 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题意我就不写了。解法有3种: 1.O(n^2)。2重循环枚举 i 和 j,f[i]表示前 i 位必选 a[i] 的最长上升子序列长度,枚举a[j]为当前 LIS 中的前一个数。 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 阅读全文
posted @ 2016-09-25 16:27 konjac蒟蒻 阅读(506) 评论(0) 推荐(0) 编辑