icpc:problems:luogup1115
problems | |
---|---|
名称 | 最大子段和 |
题目编号 | P1115 |
题目链接 | luogu.com.cn/… |
来源 | Luogu |
算法分类 | 动态规划, 线性动态规划 |
难易程度 | 入门 |
最大子段和
想法
对于第i个数结尾的子段,只有与前组段与独立成段两种情况,决策即可。
代码实现
#include<cstdio> const int N = 1e5*2; int f[N], line[N]; int main() { int n; scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &line[i]); int mx = line[1]; for(int i=1; i<=n; i++) { if(line[i] < f[i-1] + line[i]) f[i] = line[i] + f[i-1]; else f[i] = line[i]; if(f[i] > mx) mx = f[i]; } printf("%d", mx); return 0; }
/app/www/public/data/pages/icpc/problems/luogup1115.txt · 最后更改: 2024/03/20 15:29 由 温婕莺