HDOJ1003

简介:

求解最大子序列的和。

首先子序列的起始元素不一定是从第一个元素开始的。

开始的时候,用的是暴力破解。。。总是TLE。。。


 

后来在网上找到了参考的公式是:

s[1] = a[1];

s[n] = s[n-1]>=0?s[n-1]+a[n]:a[n];

貌似是一种动态规划,和以前做的背包问题有些类似

复制代码
#include <stdio.h>
int data[100000];
int main()
{
int i,j,k,l,sum,b,e,max=0,t;
scanf("%d",&i);
for (j=1;j<=i;j++)
{
max = -100000;
scanf("%d",&k);
for (sum=0, l=0, t=0 , e=0;l<k;l++)
{
scanf("%d",&data[l]);
if (sum>=0)
{
sum+=data[l];
}
else
{
sum = data[l];
t = l;
}
if (sum>max)
{
max = sum;
b = t;
e = l;
}
}
printf("Case %d:\n",j);
printf("%d %d %d\n",max,b+1,e+1);
if (j != i)
printf("\n");
}
return 1;
}
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/03/14/2397044.html,如需转载请自行联系原作者

相关文章
hdoj 4572 Bottles Arrangement
虽然不知道怎么做,但是AC还是没有问题的。 大概就是循环n次,从m加到m-n/2 除了最后一个数,每个都加两次。
39 0
HDOJ 2802 F(N)
HDOJ 2802 F(N)
97 0
HDOJ 2802 F(N)
HDOJ 2040 亲和数
HDOJ 2040 亲和数
125 0
|
机器学习/深度学习
HDOJ 2074 叠筐
HDOJ 2074 叠筐
118 0
HDOJ 1303 Doubles(简单题)
HDOJ 1303 Doubles(简单题)
101 0
HDOJ 1323 Perfection(简单题)
HDOJ 1323 Perfection(简单题)
122 0
HDOJ 2019 数列有序!
HDOJ 2019 数列有序!
129 0
|
Java
HDOJ 1715 大菲波数
Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3。 计算第n项Fibonacci数值。 Input 输入第一行为一个整数N,接下来N行为整数Pi(1
865 0
|
人工智能 算法
HDOJ 3466 Proud Merchants
Problem Description Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world.
960 0