最大连续子段和+记录路径 【DP 初步】
来源:互联网 发布:表单验证js 编辑:程序博客网 时间:2024/06/08 00:50
第1行:整数序列的长度N(2 <= N <= 50000)
第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)
输出
输出最大子段和,并且输出路径
输入示例
6
-2
11
-4
13
-5
-2
输出示例
20
代码
#include<bits/stdc++.h>#define LL long longusing namespace std;const int MAXN = 50000+10;const int MAXM = 1e5;const int inf=0x3f3f3f3f;LL arr[MAXN];LL max(LL a,LL b){ if(a>b) return a; return b; } int main(){ int n;scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lld",&arr[i]); int st=1,ed=1; LL maxval=0;LL dp=arr[1]; for(int i=2;i<=n;i++){ if(dp<0) st=ed=i;// 说明重新开始记录 dp=max(dp,0)+arr[i]; if(maxval<dp){// 说明末尾延长了 ed=i; } maxval=max(maxval,dp); } for(int i=st;i<=ed;i++) printf("%d ",arr[i]); printf("\n%lld\n",maxval); return 0;}
阅读全文
0 0
- 最大连续子段和+记录路径 【DP 初步】
- DP -- 最大连续子段和
- 最大连续子段和dp
- HDU1231 最大连续子序列【最大子段和+DP】
- 求最大连续子段和 的 dp算法
- HDU 2845 最大非连续子段和 二维dp
- 求最大连续子段和 的 dp算法
- [DP]FJSDFZOJ 1386 最大连续子段和问题
- HDU 1003 MAX SUM 最大连续子段和DP
- [DP]LIS+LCS+最大连续子段和
- poj 2479 最大连续子段和 dp算法
- hdu2845 DP最大不连续子段和
- 最大连续子段和
- 最大连续子段和
- 最大连续子段和
- 最大连续子段和
- 最大连续子段和
- 最大连续子段和
- HttpClient MultipartRequestEntity文件上传
- 文章标题 POJ 2947 : Widget Factory (高斯消元)
- 2728_摘花生
- ./autogen.sh: 4: ./autogen.sh: autoreconf: not found
- OpenCL driver Ubuntu16.04笔记
- 最大连续子段和+记录路径 【DP 初步】
- java 等待线程/线程池执行完毕
- spring boot热部署
- 内存泄漏
- sqlzoo练习答案--The JOIN operation
- C++利用帧差法背景差分实现运动目标检测(opencv)
- Linux 安装 Redis4
- spark(4)--scala入门扫盲(2)
- ZooKeeper运维之数据文件和事务日志