hdu 1003 Max Sum 最大字段和 dp

来源:互联网 发布:js中的对象是什么 编辑:程序博客网 时间:2024/05/30 04:10

今天看了一上午dp,看不太懂啊,dp确实不简单,今天开始学习dp,搜了杭电的dp46道,慢慢来吧,白书上的写的

又不太详细,先写几道题目再说。。。

题目连接:点击打开链接

思路:就是当当前的和是小于0的时候就重新计数,大于或者等于0的时候都相加。。。

代码:

/*Name: Copyright: Author: Date: 08/08/15 08:41Description: */#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<vector>#include<set>#include<string>#include<algorithm>using namespace std;int a[100005];int main(){int T,i,n;cin >> T;int cnt = 0;while(T--){cnt++;cin >> n;for(i=1; i<=n; i++)cin >> a[i];int start = 1,end = 1,sta = 1;int b=0, sum = -0x7fffffff;for(i=1; i<=n; i++){if(b >= 0)b += a[i];else{b = a[i];start = i;}if(b > sum){sta = start;end = i;sum = b;}}printf("Case %d:\n",cnt);cout << sum << " " << sta << " " << end << endl;if(T)cout << endl; } return 0;}


0 0
原创粉丝点击