这题区间是可以循环的,如果不循环的状态转移方程是
if(dp[i-1]>0)
dp[i]=dp[i-1]+a[i];
else
dp[i]=a[i];
现在题目要求是可以循环,分为两种情况:
1、没有循环,找到了最大的子段。
2、循环了,找到了最大的子段。
第一种情况很简单,第二种解决方法就是找到最小的子段,数组和减去最小子段和,就是最大循环子段和。
这题区间是可以循环的,如果不循环的状态转移方程是
if(dp[i-1]>0)
dp[i]=dp[i-1]+a[i];
else
dp[i]=a[i];
现在题目要求是可以循环,分为两种情况:
1、没有循环,找到了最大的子段。
2、循环了,找到了最大的子段。
第一种情况很简单,第二种解决方法就是找到最小的子段,数组和减去最小子段和,就是最大循环子段和。
题干:N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序
1051 最大子矩阵和基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题一个
常数组中间的某一
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M