摘要: 题目链接:http://poj.org/problem?id=2192思路分析:该问题可以看做dp问题,同时也可以使用dfs搜索求解,这里使用dp解法;设字符串StrA[0, 1, …, n]和StrB[0,1, .., m]构成字符串Str[0, 1, … , m + n + 1];1)状态定义:... 阅读全文
posted @ 2015-05-23 22:07 Leptus 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1836思路分析:假设数组为A[0, 1, …, n],求在数组中最少去掉几个数字,构成的新数组B[0, 1, …, m]满足条件B[0] … > B[m];该问题实质为求A[0, …, k]的最长递增子序列和A[j, …, n]中的最... 阅读全文
posted @ 2015-05-23 20:50 Leptus 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2533思路分析:该问题为经典的最长递增子序列问题,使用动态规划就可以解决;1)状态定义:假设序列为A[0, 1, .., n],则定义状态dp[i]为以在所有的递增子序列中以A[i]为递增子序列的最后一个数字的所有递增子序列中的最大长度... 阅读全文
posted @ 2015-05-23 19:57 Leptus 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1050思路分析:该题目为经典的最大子矩阵和问题,属于线性dp问题;最大子矩阵为最大连续子段和的推广情况,最大连续子段和为一维问题,而最大子矩阵为二维问题,可以考虑将二维问题转换为一维问题,即变为最大子段和问题即可求解;先考虑暴力解法,暴... 阅读全文
posted @ 2015-05-23 11:41 Leptus 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2593思路分析:该问题为求给定由N个整数组成的序列,要求确定序列A的2个不相交子段,使这m个子段的最大连续子段和的和最大。该问题与poj 2479相同,解法也一样;代码如下:#include #include using namespa... 阅读全文
posted @ 2015-05-23 00:20 Leptus 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2479思路分析:假设数组为A[1, 2, …, n],则问题需要求数组A[s1, s1+1, …, t1]中的最大连续子段和与A[s2, …. , t2]中的最大连续子段和的和最大;该问题实质上可以转换为求数组的最大子段和问题,只要预处... 阅读全文
posted @ 2015-05-23 00:10 Leptus 阅读(244) 评论(0) 推荐(0) 编辑