HOJ1760 The jackpot--------最大子段和问题
来源:互联网 发布:客车订票用什么软件 编辑:程序博客网 时间:2024/05/21 06:29
题意:最大子段和思路:见博客的链接注意:犯很低级的错误,找一个数组的最大值的时候wa啦一次!#include <iostream>#include<cstring>#define MAX 10010int a[MAX],dp[MAX];using namespace std;int main(){ int n,i,m; while(cin >> n&&n) { memset(dp,0,sizeof(dp)); m=0; for(i=1; i<=n; i++) cin >> a[i]; for(i=1; i<=n; i++) { dp[i+1]=a[i]+max(dp[i],0); if(dp[i+1]>m) m=dp[i+1]; } if(m>0) cout << "The maximum winning streak is " << m << "." << endl; else cout << "Losing streak." << endl; } return 0;}
最大字段和思路!!!
题目
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#define ll long longll a[1000010],dp[1000010];inline ll maxs(ll a,ll b){return a>b?a:b;}using namespace std;int main(){ int n,i; ll m; while(scanf("%d",&n)!=EOF) { for(i=1; i<=n; i++) cin >> a[i]; m=dp[1]=a[1]; for(i=2;i<=n;i++) { dp[i]=maxs(a[i]+dp[i-1],a[i]); if(dp[i]>m) m=dp[i]; } cout << m << endl; } return 0;}
也可以用分治的思想。。。
- 在[1, n/2]这个区域内
- 在[n/2+1, n]这个区域内
- 起点位于[1,n/2],终点位于[n/2+1,n]内
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#define ll long longll a[1000010];using namespace std;ll maxsum(int l,int r){ int i,center; ll l_sum,r_sum,sum=0,l_temp,s1,r_temp,s2; if(l==r) sum=a[l]; else { center=(l+r)/2; l_sum=maxsum(l,center); r_sum=maxsum(center+1,r); s1=l_temp=a[center],s2=r_temp=a[center+1]; for(i=center-1;i>=l;i--) { l_temp+=a[i]; if(l_temp>s1) s1=l_temp; } for(i=center+2;i<=r;i++) { r_temp+=a[i]; if(r_temp>s2) s2=r_temp; } sum=s1+s2; if(l_sum>sum) sum=l_sum; if(r_sum>sum) sum=r_sum; } return sum;}int main(){ int n,i; ll m; while(scanf("%d",&n)!=EOF) { for(i=1; i<=n; i++) cin >> a[i]; cout << maxsum(1,n) << endl; } return 0;}
- HOJ1760 The jackpot--------最大子段和问题
- hit oj 1760 The jackpot (最大子段和)
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- 最大子段和问题
- NVIC_Configuration 中使能SysTick_IRQn
- 在给定字符串里查找出现频率最高的字符
- 非模态对话框
- 输入法漫笔
- JSP的三个编译指令-page,include详解
- HOJ1760 The jackpot--------最大子段和问题
- malloc/free与new/delete的区别
- 某XXFS分布式文件系统设计概述
- 影响Java EE性能的十大问题
- nyoj 511 双向静态链表
- linux 用户管理
- PHP网络编程技术与实例
- 在SQL2005中输出逗号连接的字符串
- MSComm1->Input 二進制模式