最大连续子序列小结
题目
输出其的和与首尾元素。
原题:HDOJ 1231
题解
动态规划:
dp
:以a[i]
结尾的最大连续子列和,a[i]
是当前遍历元素- 状态转移方程:
dp[i]=max(dp[i-1]+a[i],a[i])
- 状态初始化:
dp[0]=a[0]
一些细节:
- 定义变量
start
、end
为子序列的首尾索引值,即最大和是dp[end]
- 当
dp[i-1]+a[i] > a[i]
且dp[i] > dp[end]
,意味着最大子序列由此开始,即start
、end
都置当前位i
- 当
dp[i-1]+a[i] < a[i]
时,意味着当前位纳入最大子序列范围,即end
置当前位i
1 |
|
最大连续子序列小结
http://lafish.fun/Maximum-continuous-subsequence/