hdu1231最大连续子序列
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1231
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define N 10010
using namespace std;
int main()
{
int n,i,a[N],s,m,e,k,MAX,sum,st,en;
while(scanf("%d",&n),n)
{
m=k=;
memset(a,,sizeof(a));
for(i=; i<n; i++)
{
scanf("%d",&a[i]);
if(a[i]<)
m++;
if(a[i]==)
k++;
}
if(m==n)
{
printf("0 %d %d\n",a[],a[n-]);
continue;
}
if(m+k==n)//如果a中只有小数和0则输出三个0;
{
printf("0 0 0\n");
continue;
}
sum=s=st=en=e=MAX=;
for(i=; i<n; i++)
{
if(sum+a[i]<a[i])//当a[i]>a[i]+sum时,要从a[i]开始往下加,之前的不要 ;
{
sum=a[i];
s=e=i;
}
else
{
sum+=a[i];
e=i;
if(MAX<sum)
{
MAX=sum;//MAX是最终要输出的数,所以st和en要随之更新;
st=s;
en=e;
} } }
printf("%d %d %d\n",MAX,a[st],a[en]);
}
56 return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
#define N 11000
int main()
{
int a[N],dp[N]; int n,i,m,MAX,INDEX,index; while(scanf("%d",&n),n)
{
m=;
for(i=;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]<)
m++;
}
if(m==n)
{
printf("%d %d %d\n",,a[],a[n-]);
continue;
}
memset(dp,,sizeof(dp));
dp[]=MAX=a[];
index=;
for(i=;i<n;i++)
{
dp[i]=max(a[i],a[i]+dp[i-]);
if(MAX<dp[i])
{
MAX=dp[i];
index=i;
}
}
int sum=;
for(i=index;i>=;i--)
{
sum+=a[i];
if(sum==MAX)
{
INDEX=i;
break;
}
}
printf("%d %d %d\n",MAX,a[INDEX],a[index]);
}
return ;
}
hdu1231最大连续子序列的更多相关文章
- hdu1231最大连续子序列(动态规划)
最大连续子序列 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 题解报告:hdu1231最大连续子序列
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 Problem Description 给定K个整数的序列{ N1, N2, ..., NK } ...
- hdu1231 最大连续子序列
#include<stdio.h> #include<string.h> #define maxn 10010 int a[maxn],dp[maxn]; int main() ...
- HDU-1231 简单dp,连续子序列最大和,水
1.HDU-1231 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 3.总结:水 题意:连续子序列最大和 #include<iostre ...
- ACM-DP之最大连续子序列——hdu1231
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- HDU1231 最长连续子序列
最大连续子序列 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- hdu1231 最长连续子序列和
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, N ...
- 【ToReadList】六种姿势拿下连续子序列最大和问题,附伪代码(以HDU 1003 1231为例)(转载)
问题描述: 连续子序列最大和,其实就是求一个序列中连续的子序列中元素和最大的那个. 比如例如给定序列: { -2, 11, -4, 13, -5, -2 } 其最大连续子序列为{ 11, ...
- divide and conquer - 最大连续子序列 - py
以HDU1231为例,代码之没法交如下: inf = 0x3f3f3f3f a = [0 for i in range(10005)] ans, L, R = -inf, 0, 0 def divid ...
随机推荐
- BZOJ3563 : DZY Loves Chinese
想法题,由于K是加密的,但是通过读入我们可以自己数出来这一行有几个数, 所以可以直接反解出之前回答为连通的个数 至于最后一个询问就用并查集暴力回答 var n,i,m,s,k,j,q : longin ...
- OI分类
黑字:认识 红字:要学 未添加:要学 ├─模拟├─字符串│ ├─字符串基础│ ├─manacher│ ├─kmp│ ├─trie│ ├─ac自动机│ ├─后缀数组( ...
- linux中shell变量$#,$@,$*,$?,$$,$!,$_,$0,$1,$2的含义解释
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) ...
- java截取图片部分尺寸
package util; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; i ...
- 使用 matlab 产生GK101任意波数据文件的方法
一.引言 MATLAB是由美国mathworks公司发布的主要面对科学计算.可视化以及交互式程序设计的高科技计算环境.它不但包含高效的数值计算.数据处理能力,而且简单易用,是工程师日常研发过程中不可缺 ...
- redis pool config的配置参数
.获取jedis实例时,实际上可能有两类错误.一类是pool.getReource(),得不到可用的jedis实例:另一类是jedis.set/get时出错也会抛出异常:为了实现区分,所以根据inst ...
- STATIC::含义
Static 关键字,是作为作用域引用,类似Parent和self 关键字,和Parent和 Self不同 Parent引用父类作用域 Self 引用当前类作用域 Static 引用全部静态作用于,子 ...
- POJ 1703 Find them, Catch them(种类并查集)
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 41463 Accepted: ...
- 【转】我们应该如何去了解JavaScript引擎的工作原理
原文地址:http://www.nowamagic.net/librarys/veda/detail/1579 昨天收到一封来自深圳的一位前端童鞋的邮件,邮件内容如下(很抱歉,未经过他的允许,公开邮件 ...
- CSS权威指南 - 基础视觉格式化 2
行内元素 em a 非替换元素 img 替换元素 两者在内联内容处理方式不一样. inline有时候被翻译成内联,比如inline content,有时候被翻译成行内 inline box. 行布局 ...