hdu 1003 Max Sum(动态规划)

解题思路:
本题在给定的集合中找到最大的子集合【子集合:集合的元素的总和,是所有子集合中的最大解。】
结果输出: 最大的子集合的所有元素的和,子集合在集合中的范围区间.
依次对元素相加,存到一个 sum 中,同时ans=sum;定义左右边界 left,right;临时左边界ll=1;
如果sum>ans,则ans=sum; 左边界 left=tem; right=i+1;
如果sum<0,则sum=0; tem=i+2;
Ac code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,a,sum,ans,l,r,x,ll;
scanf("%d",&t);
for(int k=; k<=t; k++)
{
sum=;ans=-;ll=;
scanf("%d",&x);
for(int i=; i<x; i++)
{
scanf("%d",&a);sum+=a;
if(sum>ans)
{ans=sum;l=ll;r=i+;}
if(sum<)
{sum=;ll=i+;}
}
printf("Case %d:\n%d %d %d\n",k,ans,l,r);
if(k!=t)printf("\n");
}
return ;
}
简单DP: 2017.03.29
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
#define N 100005
int dp[N];
int a[N];
int main()
{
int t;
while(scanf("%d",&t)!=EOF)
{
int c=,T=t;
while(t--)
{
memset(dp,,N);
int n;
scanf("%d",&n);
for(int i=; i<=n; i++)
scanf("%d",&a[i]);
dp[]=a[];
for(int j=; j<=n; j++)
dp[j]=max(dp[j-]+a[j],a[j]); int mx=-;
int st=,en=;
for(int i=; i<=n; i++)
if(mx<dp[i])
{
mx=dp[i];
en=i;
}
st=en;
int sum=;
for(int i=en; i>=; i--)
{
sum+=a[i];
if(sum==mx)
st=i;
}
printf("Case %d:\n%d %d %d\n",c,mx,st,en);
if(c!=T)printf("\n");
c+=;
}
}
return ;
}
hdu 1003 Max Sum(动态规划)的更多相关文章
- HDU 1003 Max Sum (动态规划 最大区间和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDOJ(HDU).1003 Max Sum (DP)
HDOJ(HDU).1003 Max Sum (DP) 点我挑战题目 算法学习-–动态规划初探 题意分析 给出一段数字序列,求出最大连续子段和.典型的动态规划问题. 用数组a表示存储的数字序列,sum ...
- HDU 1003 Max Sum --- 经典DP
HDU 1003 相关链接 HDU 1231题解 题目大意:给定序列个数n及n个数,求该序列的最大连续子序列的和,要求输出最大连续子序列的和以及子序列的首位位置 解题思路:经典DP,可以定义 ...
- hdu 1003 Max Sum (DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max Sum Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1003 Max Sum【动态规划求最大子序列和详解 】
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- hdu 1003 Max Sum (动态规划)
转载于acm之家http://www.acmerblog.com/hdu-1003-Max-Sum-1258.html Max Sum Time Limit: 2000/1000 MS (Java/O ...
- hdu 1003 MAX SUM 简单的dp,测试样例之间输出空行
测试样例之间输出空行,if(t>0) cout<<endl; 这样出最后一组测试样例之外,其它么每组测试样例之后都会输出一个空行. dp[i]表示以a[i]结尾的最大值,则:dp[i ...
- HDU 1003 Max Sum
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDU 1003 Max Sum (动规)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
随机推荐
- Linux Linux程序练习十二(select实现QQ群聊)
//头文件--helper.h #ifndef _vzhang #define _vzhang #ifdef __cplusplus extern "C" { #endif #de ...
- PHP基础01:环境搭建
1.只会前端的只是有时候让我感到很苦恼,所以决定从今天开始学习后端,看了一些关于后端语言的比较帖子,决定选择php作为我的第一门后端语言.这个是我自己的学习笔记.方便自己复习,不写下来会太无聊了. 第 ...
- ZooKeeper学习第四期---构建ZooKeeper应用
一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和 ...
- python爬虫中文网页cmd打印出错问题解决
问题描述 用python写爬虫,很多时候我们会先在cmd下先进行尝试. 运行爬虫之后,肯定的,我们想看看爬取的结果. 于是,我们print... 运气好的话,一切顺利.但这样的次数不多,更多地,我们会 ...
- codeskulptor hosts
How to check out codeskulptor's host? Use tool: namecheckup Append to your hosts file, path: windows ...
- GEOS库学习之五:与GDAL/OGR结合使用
要学习GEOS库,肯定绕不开地理方面的东西.如果需要判断的两个多边形或几何图形,不是自己创建的,而是来自shapefile文件,那就得将GEOS库和GDAL/OGR库结合使用了.实际上只需要OGR就行 ...
- Xcode7 项目转 Xcode6 时 出现问题
target specifies product type 'com.apple.product-type.bundle.ui-testing', but there's no such produc ...
- Python之socket(套接字)
Socket 一.概述 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- MBProgressHUD框架的使用:https://github.com/jdg/MBProgressHUD
MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBP ...
- Git.Framework 框架随手记--ORM新增操作
本篇主要记录具体如何新增数据,废话不多说,开始进入正文. 一. 生成工程结构 上一篇已经说到了如何生成工程结构,这里在累述一次. 1. 新建项目总体结构 使用VS新建项目结构,分层结构可以随意.我们使 ...