ACdream HUT新生摸底训练赛 C 娜娜梦游仙境系列——吃不完的糖果 DP

解题思路:环形数组最大字串,穿过和不穿过的DP

解题代码:

 1 // File Name: c.cpp
 2 // Author: darkdream
 3 // Created Time: 2015年04月12日 星期日 19时52分24秒
 4
 5 #include<vector>
 6 #include<list>
 7 #include<map>
 8 #include<set>
 9 #include<deque>
10 #include<stack>
11 #include<bitset>
12 #include<algorithm>
13 #include<functional>
14 #include<numeric>
15 #include<utility>
16 #include<sstream>
17 #include<iostream>
18 #include<iomanip>
19 #include<cstdio>
20 #include<cmath>
21 #include<cstdlib>
22 #include<cstring>
23 #include<ctime>
24 #define LL long long
25
26 using namespace std;
27 int t;
28 int n;
29 int sum[100005];
30 int mxsum[100005];
31 int a[100005];
32 int main(){
33     scanf("%d",&t);
34     while(t--)
35     {
36       int n ;
37       memset(sum,0,sizeof(sum));
38       scanf("%d",&n);
39       int tsum = 0 ;
40       int ans = 0 ;
41       int asum = 0 ;
42       for(int i = 1;i <= n;i ++)
43       {
44            scanf("%d",&a[i]) ;
45            if(tsum  <= 0 )
46            {
47              tsum = 0 ;
48            }
49            asum += a[i];
50            tsum += a[i];
51            mxsum[i] = max(mxsum[i-1],asum);
52            ans = max(ans,tsum);
53       }
54       tsum = 0 ;
55       for(int i = n; i >= 1;i--){
56          tsum +=a[i];
57          ans = max(tsum+mxsum[i-1],ans) ;
58       }
59       printf("%d\n",ans);
60     }
61 return 0;
62 }

时间: 2024-10-23 01:42:19

ACdream HUT新生摸底训练赛 C 娜娜梦游仙境系列——吃不完的糖果 DP的相关文章

ACdream HUT新生摸底训练赛 E - 娜娜梦游仙境系列——莫名其妙的插曲 数论

解题思路:其实就是找能组成的最大集合.max(a[1],a[2],a[3].........a[n])/gcd(a[1],a[2],a[3],......a[n]) 解题代码: 1 // File Name: e.cpp 2 // Author: darkdream 3 // Created Time: 2015年04月13日 星期一 13时56分11秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #i

ACdream HUT新生摸底训练赛 D - 娜娜梦游仙境系列——村民的怪癖 KMP

解题思路:用next数组进行跳转次数统计. 解题代码: 1 // File Name: d.cpp 2 // Author: darkdream 3 // Created Time: 2015年04月12日 星期日 19时40分52秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stac

ACdream HUT新生摸底训练赛 B - 娜娜梦游仙境系列——跳远女王 bfs

题意:bfs 解题思路:建图bfs,要特判一下能否直接跳. 解题思路: 1 // File Name: b.cpp 2 // Author: darkdream 3 // Created Time: 2015年04月12日 星期日 20时03分02秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include

ACdream HUT新生摸底训练赛 F - 娜娜梦游仙境系列——多民族王国 并查集

解题思路:并查集水题,多年前曾经用暴力水过. 解题代码: 1 // File Name: c.c 2 // Author: darkdream 3 // Created Time: 2013年03月01日 星期五 00时37分28秒 4 5 #include<stdio.h> 6 #include<string.h> 7 #include<stdlib.h> 8 #include<time.h> 9 #include<math.h> 10 11

C - 娜娜梦游仙境系列——吃不完的糖果

C - 娜娜梦游仙境系列——吃不完的糖果 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Submit Status Problem Description 娜娜好不容易才在你的帮助下"跳"过了这个湖,果然车到山前必有路,大战之后必有回复,大难不死,必有后福!现在在娜娜面前的就是好多好多的糖果还有一些黑不溜秋的东西!不过娜娜眼中只有吃不完的糖果!娜娜高兴地快要蹦起来了

A - 娜娜梦游仙境系列——诡异的钢琴

A - 娜娜梦游仙境系列——诡异的钢琴 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Submit Status Problem Description 从前,有一个ACdream王国,王国里住着一位公主,她叫娜娜,娜娜公主有一天做了一个很长很长的梦~她说她从来没有遇到过这些奇妙的东西~ 现在站在娜娜面前的是一台钢琴,这是一台看上去很正常的钢琴,上面有88个键(频率从27赫兹

E - 娜娜梦游仙境系列——莫名其妙的插曲

E - 娜娜梦游仙境系列——莫名其妙的插曲 E - 娜娜梦游仙境系列——莫名其妙的插曲 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Problem Description 娜 娜因为帮桃花村民们解决了一大难题而受到村民们的尊敬,不过由于娜娜还想继续探索这个神奇的世界,只好恋恋不舍地与村民告别.当娜娜离开村庄的一刻,娜娜 失忆了!她不记得桃花村的一切,她不记得之前吃了很多糖果

G - 娜娜梦游仙境系列——梦醒

G - 娜娜梦游仙境系列——梦醒 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)     Special Judge Submit Status Problem Description 娜娜离开了这个王国,走向远方,在旷野上,娜娜看到了一个大时钟,上面的时针分针秒针都在缓缓转动,那只挥着翅膀的天使又出现了,天使说:“外面天已经亮了,娜娜你别睡过头哟~”,娜娜问:“我怎样才能醒过

D - 娜娜梦游仙境系列——村民的怪癖

D - 娜娜梦游仙境系列——村民的怪癖 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Submit Status Problem Description 娜娜费劲九牛二虎之力终于把糖果吃完了(说好的吃不完呢?骗人,口亨~),于是,缘溪行,忘路之远近.忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷,娜娜甚异之.复前行,欲穷其林.林尽水源,便得一山,山有小口,仿佛若有光.便