hdu1003最大子段和
来源:互联网 发布:origin作图软件缺点 编辑:程序博客网 时间:2024/05/18 02:22
求最大子段和,每次记录当前子段和,和当前子段的开始位置,更新最大子段和,如果当前子段和小于0,则重新开始计算子段和(因为子段加一个负数值会更小)。
代码:
//最大子段和#include<cstdio>#include<iostream>#include<algorithm>#include<cstdlib>#include<cstring>#include<string>#include<cmath>#include<vector>#include<map>#include<queue>#define INF 0x7fffffff#define maxn 0x7fffffff#define maxl 0x7fffffff#define fi for(int i=0;i<n;i++)#define fj for(int j=0;j<n;j++)#define wh while(t--)using namespace std;int main(){ int n,a; int t; scanf("%d",&t); for(int tt=1; tt<=t; tt++) { scanf("%d",&n); int Max=-INF;//Max为最大子段和,tempt表示当前子段和 int tempt=0; int s=1; int e=1; int k=1;//当前段的开始位置 for(int i=1; i<=n; i++) { scanf("%d",&a); tempt+=a; if(tempt>=Max) { Max=tempt; s=k; e=i; } if(tempt<0) { tempt=0; k=i+1; } } if(tt!=1) printf("\n"); printf("Case %d:\n",tt); printf("%d %d %d\n",Max,s,e); } return 0;}
- hdu1003最大子段和
- HDU1003 最大子段和
- Max Sum hdu1003 最大子段和
- hdu1003最大连续子段和
- 最大连续子段和(hdu1003)
- HDU1003 Max Sum(最大连续子段和)
- HDU1003 NBUT 1090 Max Sum(最大子段和)
- HDU1003 Max Sum【最大子段和+DP】
- hdu1003-最大子段和&细节-Max Sum
- hdu1003最大子序列和
- HDU1003-最大子序列和
- HDU1003 最大子序列和问题
- hdu1003 最大连续子序和
- HDU1003 ---最大子序列和 subsequence
- hdu1003 最大连续子序列和
- HDU1003(最大连续子序列和DP)
- HDU1003 最大连续子序和 DP
- hdu1003 最大子序列的和
- Android导入一个工程时提示 Invalid project description的解决方法
- Java class 中public、protected 、friendly、private的区别
- Hibernate——缓存管理
- ubifs out-of-place update & Garbage Collection
- java 访问 webservice
- hdu1003最大子段和
- size_type 和 size_t
- 教程:建立自己的私有云存储
- Android常用类库包介绍
- Vim编辑器使用基础教程
- C++中各种类型的成员变量的初始化方法
- 一步搞定配置jdk环境变量
- 面向未来,防止过时
- Android中使用Bezier曲线