hdu1003 动态规划的入门题

来源:互联网 发布:和玛丽苏开玩笑 知乎 编辑:程序博客网 时间:2024/06/08 11:48

这道题花了我两天时间才AC,现在对动态规划还是感觉稀里糊涂,唉,慢慢来吧。

 sum+a[i]>a[i]?sum+a[i]:a[i]

//hdoj1003#include<iostream>using namespace std;#define MAX_LEN 100001 //定义一个常量int main(){int a[MAX_LEN]={0};//N不会超过100001int t,m,i,j=0;cin>>t;//测试样例次数while(t--){int sum=-999,max=-999,end=0,start=0,position=0;cin>>m;//输入数字序列元素个数for(i=1;i<=m;i++)//逐一序列元素cin>>a[i];for(i=1;i<=m;i++){if(sum+a[i]>=a[i])//等号不能忘了sum+=a[i];else{sum=a[i];position=i;//记录头元素}if(sum>max){                max=sum;     start=position;                end=i;//记录尾元素            }}cout<<"Case "<<++j<<":"<<endl;//注意Case后面的空格cout<<max<<" "<<start<<" "<<end<<endl;if(t>0)//没有这条无法ACcout<<endl;}return 0;}


0 0
原创粉丝点击