算法 | 最大字段和
Posted jj81
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法 | 最大字段和相关的知识,希望对你有一定的参考价值。
#include <stdio.h> int a[100001],dp[100001]; int main() { int T,n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) { scanf("%d",&a[i]); } dp[0] = a[0]; int start = 0,end = 0,max = -1001; int first = 0,last = 0; for(int i=0;i<n;i++) { if(dp[i-1]+a[i]>=a[i]) //判断条件 { dp[i] = dp[i-1]+a[i]; end = i; } else { dp[i] = a[i]; start = end = i; } if(max<dp[i]) { max = dp[i]; first = start; last = end; } } if(max < 0) { printf("0"); }else { printf("%d",max); for(int i = first; i <= last; i++) { printf(" %d",a[i]); } } printf(" "); } return 0; }
以上是关于算法 | 最大字段和的主要内容,如果未能解决你的问题,请参考以下文章
有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]