这是一道DP入门题目,知识点是“最大连续子序列”

题目大意:给你一个长度为n的数字序列,取其中一段连续的序列,要求和最大;

分析:这是一道裸题,没有什么花里胡哨的东西,主要是写出状态转移方程
        dp[i] = max{dp[i-1] + A[i], A[i]};
   dp[i]是以i位置为结尾位置的最优解。

   对于i位置上的A[i],一定对dp[i]做出了贡献。

   对于i以前的位置,他们的最优解是dp[i-1],当dp[i-1]>=0时,dp[i-1]对dp[i]做出了贡献;反之,dp[i-1]对dp[i]有消极的作用;

我的错误:1.边界dp[1]忘记做了处理
      2.要每次更新起点,铁憨憨我直接把最后更新后的结果当结果了。。

 #include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int Maxn = + ;
int T,n;
int dp[Maxn];
int main()
{
scanf("%d",&T);
for(int t=;t<=T;t++)
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&dp[i]);
int ans = dp[];//用边界对ans初始化
int start = ,ends = ,fstart=;
for(int i=;i<=n;i++)
{
if(dp[i-]>=)
dp[i] += dp[i-];
else
start = i;//起点的更新不一定是最优解
if(dp[i] > ans)
{
ans = dp[i];
fstart = start;//在更新最优解的时候更新起点
ends = i;
}
}
if(t!=) puts("");
printf("Case %d:\n",t);
printf("%d %d %d\n",ans,fstart,ends);
}
return ;
}

(DP)HDU - 1003 Max Sum的更多相关文章

  1. HDOJ(HDU).1003 Max Sum (DP)

    HDOJ(HDU).1003 Max Sum (DP) 点我挑战题目 算法学习-–动态规划初探 题意分析 给出一段数字序列,求出最大连续子段和.典型的动态规划问题. 用数组a表示存储的数字序列,sum ...

  2. HDU 1003 Max Sum --- 经典DP

    HDU 1003    相关链接   HDU 1231题解 题目大意:给定序列个数n及n个数,求该序列的最大连续子序列的和,要求输出最大连续子序列的和以及子序列的首位位置 解题思路:经典DP,可以定义 ...

  3. hdu 1003 Max Sum (DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max Sum Time Limit: 2000/1000 MS (Java/Others)   ...

  4. hdu 1003 Max Sum(基础dp)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  5. HDU 1003 Max Sum(DP)

    点我看题目 题意 : 就是让你从一个数列中找连续的数字要求他们的和最大. 思路 : 往前加然后再判断一下就行. #include <iostream> #include<stdio. ...

  6. HDU 1003 Max Sum * 最长递增子序列(求序列累加最大值)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  7. HDU 1003 Max Sum(AC代码)

    #include <stdio.h> int main(){ int i,t,j,n,x; int start,end,temp,max,sum; scanf("%d" ...

  8. HDU 1003 - Max Sum(难度:*)

    Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum ...

  9. hdu 1003 Max Sum (动态规划)

    转载于acm之家http://www.acmerblog.com/hdu-1003-Max-Sum-1258.html Max Sum Time Limit: 2000/1000 MS (Java/O ...

随机推荐

  1. docker pull理解误区

    docker run 命令 如果local image中有对应 镜像+tag 不会从新拉取镜像 docker pull 会进行拉取 先进行镜像更改 [root@master01 ~]# docker ...

  2. Assembly language 再读---续

    前面已经写到了第三章的数据类型 的那一部分 接下来是一些关于伪指令和其他杂七杂八的东西 1. 当前地址计数器:   $ 常用于  计算数组以及字符串的长度,如: .data list db ,,,,, ...

  3. elasticsearch 深入 —— 全文检索

    全文搜索 我们已经介绍了搜索结构化数据的简单应用示例,现在来探寻 全文搜索(full-text search) :怎样在全文字段中搜索到最相关的文档. 全文搜索两个最重要的方面是: 相关性(Relev ...

  4. 【记录】eclipse jar包看不了源码

    第一步:下载JAD . jad官方地址的官方下载地址是: http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasem ...

  5. 2018-8-10-win10-uwp-毛玻璃

    title author date CreateTime categories win10 uwp 毛玻璃 lindexi 2018-08-10 19:16:50 +0800 2018-2-13 17 ...

  6. surpace pro 检测维修记录

    1.大陆不在全球联保范围内. 2.不要升级系统(win 10 1709)容易键盘失去反应. 3.不要乱安装系统,官方有回复镜像包,记住系列号, 4.大陆没有维修的点,有问题着官方服务, 5.uefi设 ...

  7. Django组件——用户认证

    用户认证 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 .authentica ...

  8. shell 单行多行注释

    1. 单行注释 众所周知,#  比如想要注释:echo “ni” # echo "ni" 2. 多行注释: 法一: : << ! 语句1 语句2 语句3 语句4 ! 法 ...

  9. Spring----组合注解与元注解

    1.概述 1.1.Spring提供了大量的注解, 尤其是相同的注解用到各个类中,会相当的啰嗦: 1.2.元注解: 可以注解到别的注解上的注解: 组合注解: 被注解注解的注解称为 组合注解: 组合注解  ...

  10. centos 6.5 安装 ant

    从ant官方网站下载ant安装包:apache-ant-1.9.7-bin.tar.gz,解压 tar xvf apache-ant-1.9.7-bin.tar.gz -C /usr/java/ 配置 ...