动态规划 POJ2479与POJ2593 最大子段和
来源:互联网 发布:秦皇岛人人网络 编辑:程序博客网 时间:2024/05/17 06:37
两道题是一样的
做法 从左到右做子段和 再从右到左做子段和 最后枚举分割点
POJ2479的代码
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include <algorithm>#define ll long long#define eps 1e-8#define ms(x,y) (memset(x,y,sizeof(x)))#define fr(i,x,y) for(int i=x;i<=y;i++)using namespace std;const int maxn=100000+10,inf=0x3fffffff;int le[maxn],ri[maxn],num[maxn];void Left(int n){ ms(le,0); int m=-inf,s=0; for(int i=0;i<n-1;i++) { s+=num[i]; if(s>m)m=s; if(s<0)s=0; le[i]=m; }}void Right(int n){ ms(ri,0); int m=-inf,s=0; for(int i=n-1;i>0;i--) { s+=num[i]; if(s>m)m=s; if(s<0)s=0; ri[i]=m; }}int main(){ int T; cin>>T; int n; while(T--) { cin>>n; for(int i=0;i<n;i++) scanf("%d",&num[i]); Left(n); Right(n); int ans=-inf; for(int i=0;i<n-1;i++) ans=max(ans,le[i]+ri[i+1]); cout<<ans<<endl; } return 0;}
0 0
- 动态规划 POJ2479与POJ2593 最大子段和
- 【动态规划】poj2479 Maximum sum && poj2593 Max Sequence(求两段不相交字串的最大和)
- POJ2479 最大子段和
- poj2593-Max Sequence(最大子段和)
- 【动态规划(最大子序列和)】:poj2479,Maximum sum
- POJ2479 POJ1050 最大和子段
- 最大子段和——分治与动态规划
- 最大子段和——分治与动态规划
- 最大子段和——分治与动态规划
- 最大子段和——分治与动态规划
- 最大子段和——分治与动态规划
- 最大子段和——分治与动态规划
- 最大子段和(分治与动态规划典例)
- 最大子段和——分治与动态规划
- 最大子段和(分治与动态规划典例)
- POJ2479,动态规划求最大字段和
- 动态规划----最大子段和
- 最大子段和(动态规划)
- Ansible@一个高效的配置管理工具--Ansible configure management--翻译(五)
- lua中的循环引用辨析
- 详解jQuery中 .bind() vs .live() vs .delegate() vs .on() 的区别
- PHP常量详解:define和const的区别
- 在Android手机上获取其他应用的包名及版本号
- 动态规划 POJ2479与POJ2593 最大子段和
- Android开源框架ImageLoader 加载drawable 图片文件
- poj2533Longest_Ordered_Subsequence
- sigal
- qwt缩放
- js 确认对话框
- $(this).attr(‘checked’)返回dundefined问题
- /bin,/sbin,/usr/bin,/usr/sbin目录的区别
- PHP流式上传和表单上传(美图秀秀)