1003---求最大连续子序列和的动态规划问题
2016-10-13 14:16
351 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1003
在最初看到题目的时候,因为动态规划往往要存很多中间变量,因此想到数组是最方便的。但是要注意的是,题目中的N数值非常大,如果都采用数组来存储的话,会出现内存不足的情况,因此可以考虑用其他的方法。在本题中,可以分析到,在每次读入一个新的数据时,都可以根据新读入的数据和过去的一些记录的比较,来及时更新记录。【引用】
过程说明 :
1.先输入一个数,将它存在temp中,并赋给sum,max。
2.再输入下一个数temp。
3.判断之前的sum值是否小于0,若小于0,begin++,sum=temp;否则sum累加。
如果sum是负的,说明下一个点就暂时是新的起始点了。也要重新把sum赋值。
4.判断sum和max大小,如果sum大,pmax++,pmin=begin(易错);
代码参数说明 :
T:输入几组数
N:每组数的个数
temp:当前输入数
Max:当前最大字符串值
Sum:累加值
题目要求:求出最大连续子序列的和,并返回位置信息
解题思路 :在最初看到题目的时候,因为动态规划往往要存很多中间变量,因此想到数组是最方便的。但是要注意的是,题目中的N数值非常大,如果都采用数组来存储的话,会出现内存不足的情况,因此可以考虑用其他的方法。在本题中,可以分析到,在每次读入一个新的数据时,都可以根据新读入的数据和过去的一些记录的比较,来及时更新记录。【引用】
过程说明 :
1.先输入一个数,将它存在temp中,并赋给sum,max。
2.再输入下一个数temp。
3.判断之前的sum值是否小于0,若小于0,begin++,sum=temp;否则sum累加。
如果sum是负的,说明下一个点就暂时是新的起始点了。也要重新把sum赋值。
4.判断sum和max大小,如果sum大,pmax++,pmin=begin(易错);
代码参数说明 :
T:输入几组数
N:每组数的个数
temp:当前输入数
Max:当前最大字符串值
Sum:累加值
1003代码
#include<iostream> using namespace std; int main() { int T; int N; int temp; int max,sum; int pmin,pmax; cin >> T; for (int i = 0; i < T; i++) { cin >> N; pmin = 1, pmax = 1; int begin = 1; cin >> temp; sum = max = temp; for (int j = 1; j < N; j++) { cin >> temp; if (sum < 0) { begin =j + 1; sum =temp; } else sum += temp; if (sum > max) { max = sum; pmin = begin; //如果不加这一句,直接输出begin的值,当连续几个负数时候不成立。 pmax = j + 1; } } if (i != 0) cout << endl; cout << "Case " << i + 1 << ":" << endl; cout << max << " " << pmin << " " << pmax<<endl; } system("pause"); return 0; }
相关文章推荐
- 最大连续子序列和,乘积,最长递增子串,最长公共子串,子序列等问题(动态规划等)
- hdu-1003-动态规划-求连续子序列最大和问题
- HDU 1231(最大连续子序列)动态规划-最大连续子序列和
- 最大连续子序列和:动态规划经典题目(2)
- 最大连续子序列和:动态规划经典题目
- 动态规划:最大连续子序列乘积
- 最大连续子序列和 分治思想和动态规划思想
- 动态规划_题目1011:最大连续子序列
- 动态规划经典题目:最大连续子序列和
- 【练习09】简单动态规划 1001 最大连续子序列
- 动态规划_最大公共子序列长度问题
- 动态规划_最大子序列和问题以及最大子序列问题
- HUD 1003/HDU 1081:动态规划之最大子序列和+最大矩阵和
- 求最大连续子序列的和,两种解法:动态规划 & Kadane算法
- 动态规划:最大连续子序列乘积 分类: c/c++ 算法 2014-09-30 17:03 656人阅读 评论(0) 收藏
- hdu1231最大连续子序列(简单的动态规划)
- HDU-1003-Max Sum(dp经典问题-最大连续子序列和)
- HDU 1003 1231 (六种姿势拿下连续子序列最大和问题)
- 六种姿势拿下连续子序列最大和问题,附伪代码(以HDU 1003 1231为例)
- hduoj1003,Max Sum,最大子序列和,类动态规划,经典