hdu 1003 Max Sum 最大字段和 dp
阿新 • • 發佈:2017-06-12
題目 int start 今天 end tracking return hdu 簡單 iostream
今天看了一上午dp。看不太懂啊。dp確實不簡單。今天開始學習dp,搜了杭電的dp46道,慢慢來吧。白書上的寫的
又不太具體,先寫幾道題目再說。
。。
題目連接: id=516&page=1">點擊打開鏈接
思路:就是當當前的和是小於0的時候就又一次計數。大於或者等於0的時候都相加。。。
id=516&page=1">代碼:
/* Name: Copyright: Author: Date: 08/08/15 08:41 Description: */ #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; }
hdu 1003 Max Sum 最大字段和 dp