(DP)HDU - 1003 Max Sum
这是一道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的更多相关文章
- 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(基础dp)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDU 1003 Max Sum(DP)
点我看题目 题意 : 就是让你从一个数列中找连续的数字要求他们的和最大. 思路 : 往前加然后再判断一下就行. #include <iostream> #include<stdio. ...
- 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(AC代码)
#include <stdio.h> int main(){ int i,t,j,n,x; int start,end,temp,max,sum; scanf("%d" ...
- 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 ...
- hdu 1003 Max Sum (动态规划)
转载于acm之家http://www.acmerblog.com/hdu-1003-Max-Sum-1258.html Max Sum Time Limit: 2000/1000 MS (Java/O ...
随机推荐
- 清除mac中自动记录的git用户名和密码
应用程序-实用工具-双击钥匙串-右上角搜索github-右击选项删除
- 【接口工具】接口抓包工具之Charles
上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? 1.F ...
- 攻防世界--re2-cpp-is-awesome
测试文件:https://adworld.xctf.org.cn/media/task/attachments/c5802869b8a24033b4a80783a67c858b 1.准备 获取信息 6 ...
- falcon的api
一.判断session是否有效 # -*- coding: UTF- -*- #!/usr/bin/env python # Created by Administrator on // import ...
- 【学习总结】gcc和gdb
目录 <> vim.gcc.gdb: gcc: gcc和g++是c/c++的linux系统集成的编译器,源文件的后缀应为 .C/.cpp/.c++/.cc等 编译器可以将C.C++等语言源 ...
- CSS中quotes属性以及content的open(close)-quotes属性
定义和用法 quotes 属性设置嵌套引用(embedded quotation)的引号类型. 可能的值 值 描述 none 规定 "content" 属性的 "open ...
- JavaScript深入之类数组对象与arguments(转载)
类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...
- resolver - 解析器(resolver) 配置文件
总览 (SYNOPSIS) /etc/resolv.conf 描述 (DESCRIPTION) 解析器(resolver) 是 C 函数库 中 的 一组 例程, 用于 访问 Internet 域名系统 ...
- Django组件——用户认证
用户认证 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 .authentica ...
- Mongodb Capped Collection集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...