51Nod-1049-最大子段和
2017-08-22 08:58
239 查看
51Nod-1049 最大子段和
一道有趣的动态规划问题。
每次输入的时候,判断一下前面的连续数之和sum的正负,如果为负数则sum变为0,同时加上当前输入的值,且把最大的连续数之和记录下来。
代码如下:
1049 最大子段和 N个整数组成的序列a[1],a[2],a[3],…,a ,求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。 Input 第1行:整数序列的长度N(2 <= N <= 50000) 第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9) Output 输出最大子段和。 Input示例 6 -2 11 -4 13 -5 -2 Output示例 20
一道有趣的动态规划问题。
每次输入的时候,判断一下前面的连续数之和sum的正负,如果为负数则sum变为0,同时加上当前输入的值,且把最大的连续数之和记录下来。
代码如下:
while True: try: n, sum, ans= int(input()), 0, 0 for i in range(n): sum = max(sum, 0) + int(input()) ans = max(sum, ans) print(ans) except EOFError: break
相关文章推荐
- 【51NOD-0】1049 最大子段和
- 【51nod】1049 最大子段和
- 最大子段和 模板题 51Nod 1049
- 51Nod 1049最大子段和 | 模板
- 51nod_1049 最大子段和(简单DP)
- 51Nod 1049 最大子段和
- 51Nod-1049 最大子段和
- 51nod 1049 最大子段和问题 (分治法或者动态规划)
- 51Nod-1049 最大子段和【DP】
- 51nod 1049 最大子段和
- 51Nod 1049 最大子段和(DP动态规划)
- 51Nod 1049 最大子段和
- 51nod 1049 最大子段和(分治 dp)
- 51Nod-1049-最大子段和
- 51nod 1049 最大子段和
- 51nod 1049 最大子段和
- 51nod 1049 最大子段和(基础dp)
- 51nod 1049 最大子段和 (动归)
- 51nod 1049 最大子段和
- 51nod:1049 最大子段和