HDU 1003 动态规划

Posted Donser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1003 动态规划相关的知识,希望对你有一定的参考价值。

http://acm.hdu.edu.cn/showproblem.php?pid=1003

这几天开始刷动归题目,先来一道签到题

然而做的并不轻松,

没有注意到边界问题,

WA了几发才发现

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int donser[100000];
int d[100000];
int main()
{
    int i,j,k,test,n,max=0,num=1,shit;
    scanf("%d",&test);shit=test;
    while(test--)
    {
        memset(d,0,sizeof(d));
        memset(donser,0,sizeof(d));
        scanf("%d",&n);
        for(j=1;j<=n;j++)
        {
            scanf("%d",&d[j]);
        }
        donser[1]=d[1];
        for(i=2;i<=n;i++)
        {
            if(donser[i-1]<0) donser[i]=d[i];
            else donser[i]=donser[i-1]+d[i];
        }
        max=donser[1];
        for(i=2;i<=n;i++)
        {
            if(max<donser[i])
            {
                max=donser[i];num=i;
            }
        }
        int nnn=0,hhh=1;
        for(k=num;k>0;k--)
        {
            nnn=nnn+d[k];
            if(nnn==max){hhh=k;}
        }
        cout<<"Case "<<shit-test<<":"<<endl<<max<<" "<<hhh<<" "<<num<<endl;
        if(test) cout<<endl;
        max=0;num=1;
    }
    return 0;
}

 

以上是关于HDU 1003 动态规划的主要内容,如果未能解决你的问题,请参考以下文章

HDU1003 Max Sum [动态规划]

HDU - 1003 Max Sum (思维 || 动态规划)

《 动态规划_ 入门_最大连续子序列_HDU_1003 》

HDU1003 Max Sum 题解 动态规划 最大字段和扩展

HDU 1003 Max Sum动态规划求最大子序列和详解

HDU acm 1003 Max Sum || 动态规划求最大子序列和详解