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 ...
随机推荐
- BZOJ3807 : Neerc2011 Lanes
左右与右左是两个独立的问题 设f[i]表示i时刻左右车道减少一条的答案 g[i]表示i时刻右左车道增加一条的答案 ans=min(f[i]+g[i+r]) 计算f[i]: 首先暴力计算出f[m+1], ...
- C#线程间同步无法关闭
用C#做了个线程间同步的小程序,但每次关闭窗口后进程仍然在,是什么原因? 解决方法: 要加一句 线程.IsBackground = true; 否则退出的只是窗体 上面的方法没看懂... MSDN上说 ...
- HDU 1242 (BFS搜索+优先队列)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1242 题目大意:多个起点到一个终点,普通点耗时1,特殊点耗时2,求到达终点的最少耗时. 解题思路: ...
- TYVJ P1004 滑雪 Label:记忆化搜索
背景 成成第一次模拟赛 第三道 描述 trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜. ...
- Centos GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEYRetrieving key fro ...
- 带你学C,带你飞——入门
- RTO & RPO
作者:王文洋链接:https://www.zhihu.com/question/30753842/answer/49334210来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- emacs notepad notepad++ 撤销比较
以前使用编辑器都是直接上手,未读过什么的文档了解.所谓撤销只是使用,也不了解究竟撤销到何处,阅读了emacs的文档才知道有许多区别呢. 输入this is a pen,然后一个个字符地删除到this ...
- [IT学习]一些有用的工具
1.synctoy: http://www.microsoft.com/en-us/download/details.aspx?id=15155 2.fsutil https://technet.mi ...
- DX11.2 Tiled Resource Pool
Nvidia white paper : https://developer.nvidia.com/content/taking-advantage-directx112-tiled-resource ...