【cdoj 1357】柱爷与最大区间和
来源:互联网 发布:定位技术知乎 编辑:程序博客网 时间:2024/06/06 02:51
连续一段的最大区间和递推方程 f [ i ] = max( f [ i - 1 ] + a [ i ] , a [ i ] )O(n)复杂度
前后做两次再做两次计算不连续的最大区间和
#include<cstdio>#include<cstring>#include<iostream>#define maxn 500020using namespace std;int n,a[maxn],sum[maxn];int f[maxn],g[maxn],ff[maxn];int main(){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",a+i);sum[i]=sum[i-1]+a[i];}int last=0;for(int i=1;i<=n;i++){f[i]=max(f[i],sum[i]-last);last=min(last,sum[i]);}last=-1e9;for(int i=1;i<=n;i++){ff[i]=max(f[i-1],last);last=max(last,f[i-1]);}memset(sum,0,sizeof(sum));for(int i=n;i>=1;i--){sum[i]=sum[i+1]+a[i];}int ans=-1e9;last=0;for(int i=n;i>=1;i--){g[i]=max(g[i],sum[i]-last);last=min(last,g[i+1]);ans=max(ans,g[i]+ff[i]);}printf("%d",ans);return 0;}
0 0
- cdoj柱爷与最大区间和
- 【cdoj 1357】柱爷与最大区间和
- 【CDOJ 1357】柱爷与最大区间和
- CDOJ 1357 柱爷与最大区间和(dp+滚动数组)
- CDOJ-2016-B-柱爷与最大区间和
- CDOJ1357--柱爷与最大区间和
- CDOJ 844 线段树区间最大连续和
- (CDOJ 844 线段树区间最大连续和 )<线段树的各种姿势>
- CDOJ 1321柱爷的恋爱 (区间dp)
- 【CDOJ】柱爷与咸鱼神功
- 2016 UESTC Training for Dynamic Programming B - 柱爷与最大区间和 最大区间和推广、前缀和、枚举间隔点
- 【线段树-区间更新求区间和】CDOJ 1057
- CDOJ--卿学姐与基本法(线段树+离散化+区间查询)
- CDOJ 1325 卿学姐与基本法 (离散化+区间修改)
- 【cdoj 1321】柱爷的恋爱 区间dp记忆化搜索
- cdoj 1131 区间dp
- 【cdoj 1330】柱爷与远古法阵 高斯消元
- hdoj5280最大区间和
- 从一个标准 url 里取出文件的扩展名
- Java语言基础
- Little Dima and Equation(枚举)
- 南洋股份宣布将以57亿元收购天融信
- java的装箱与拆箱
- 【cdoj 1357】柱爷与最大区间和
- Appleman and Card Game(贪心)
- Linux磁盘文件系统管理
- [模板]二进制状态压缩DP模板(详解
- 【BZOJ4569】萌萌哒,ST表+并查集
- DZY Loves Modification(优先队列)
- PyGobject(八十九)Pango系列——获取系统可用字体
- 状态模式
- 策略模式