(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 ...
随机推荐
- spring-第三篇之ApplicationContext的事件机制
1.通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext的事件处理. 如果容器中有一个ApplicationListener ...
- Python入门习题5.蒙特卡罗方法计算圆周率
#CalPi.py from random import random from math import sqrt from time import clock DARTS = 10000000 hi ...
- windows8.1安装python
python3.8安装后缺少runtime.dll文件,试验了各种方法都不可行,最后安装了Anaconda3,这是一个python配置环境,但是好像Anaconda3只能兼容3.7,python3.8 ...
- c# 获取 Apk ,Aar 文件包名
最近项目有个需求,需要拿到前端上传的Apk或者Aar文件里面的包名. 在这里贡献出来,方便有需求的小伙伴. 项目是 asp.net core 2.2 需要安装 nuget : AndroidXml S ...
- 使用form提交到搜狗浏览器示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- NGUI的滚动条的制作(scroll bar script)
一,我们添加一个sprite,添加一个box collider,然后添加一个scroll bar script,我们来看看scroll bar script的属性 看到background和forgr ...
- 一些常见的js校验
今天有时间来总结一下那些常用的js校验: vernull = function(value){//非空校验 if(value.trim(value).length == 0){ return fals ...
- mpvue中的 钩子函数
经过多次脱坑实验总结如下, 1,页面的A第一次加载会调用mounted钩子函数,onshow, 2,当从a->b,b再返回到a时,a不会触发mounted,而是触发onshow, 3,如果a中存 ...
- Linux系统平台调优
- How To Find Out Attachments By File Type In Outlook?
ext: (extension extension) Take the attachments of zip files and of txt files for example, just ente ...