最大子矩阵是一种典型的dp问题。某种程度上说是最大连续子序列和问题的扩展。这里选取了两个HDU上的最大子矩阵和问题来解读。...
分类:
其他好文 时间:
2014-08-13 19:06:17
阅读次数:
168
最大连续子序列和问题
给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1
注:为方便起见,如果所有整数均为负数,则最大子序列和为0。
解决这样一个问题是一个很有趣的过程,我们可以尝试着从复杂度比较高的算法一步一步地推出复杂度较低的算法。
算法一:
时间复杂度:O(N^3)...
分类:
其他好文 时间:
2014-08-13 19:06:07
阅读次数:
439
典型的DP题目,增加一个额外要求,输出子序列的开始和结尾的数值。
增加一个记录方法,nothing special。
记录最终ans的时候,同时记录开始和结尾下标;
更新当前最大值sum的时候,更新开始节点。
const int MAX_N = 10001;
long long arr[MAX_N];
int N, sta, end;
long long getMaxSubs()
{
...
分类:
其他好文 时间:
2014-08-12 22:04:14
阅读次数:
320
今天在网上看到的这道题目:一个有N个元素的整型数组arr,有正有负,数组中连续一个或多个元素组成一个子数组,这个数组当然有很多子数组,求子数组之和的最大值。例如:[0,-2,3,5,-1,2]应返回9,[-9,-2,-3,-5,-3]应返回-2。开始感觉貌似也没有那么难,就直接想循环遍历+动态规划的...
分类:
其他好文 时间:
2014-08-08 21:14:56
阅读次数:
273
题意 求n个数字的最大连续和
DP的入门题目 令d[i]表示以第i个数a为右端的最大连续子序列和 那么很容易得出转移方程 d[i]=max(d[i-1]+a,a)
很显然 当第i个数比以第i-1个数为右端的最大和加上第i个数还大的时候 以第i个数为右端的最大和就是第i个数自己了 同时更新左端为自己...
分类:
其他好文 时间:
2014-08-07 13:23:20
阅读次数:
264
http://acm.hdu.edu.cn/showproblem.php?pid=1231
最大连续子序列
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 18622 Accepted Submission(s): 82...
分类:
其他好文 时间:
2014-08-04 21:40:08
阅读次数:
340
Problem Description
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 +...
分类:
其他好文 时间:
2014-08-04 17:52:47
阅读次数:
187
这半个多月一来,主要是在刷DP。开始是一些简单的DP(可是我没有感觉有多简单=_=!!),然后是最大连续子序列,最大公共子序列,最大子矩阵等等,这些题目还好,有的题目甚至可以模板化。还有一些没有解决的难题:1024 Max Sum Plus Plus 最大m段不重叠子段和](可不连续)1244 Ma...
分类:
其他好文 时间:
2014-08-03 23:13:46
阅读次数:
262