zoukankan      html  css  js  c++  java
  • GCPC2014 E Equator

    题意:求一个循环序列的最大连续字串和。

    解题思路:考虑两种情况,1)没有穿过数组边界  2)穿过了数组边界。

    解题代码:

     1 // File Name: e.cpp
     2 // Author: darkdream
     3 // Created Time: 2015年03月15日 星期日 14时02分10秒
     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 a[1000005];
    28 int dp[1000005];
    29 int main(){
    30    int t ; 
    31    scanf("%d",&t);
    32    while(t--)
    33    {
    34       int n ;
    35       scanf("%d",&n);
    36       int tmp ;
    37       int mi = 0 ; 
    38       int sum = 0 ;
    39       for(int i = 1;i <=n;i ++)
    40       {
    41          scanf("%d",&a[i]);
    42          sum += a[i];
    43          dp[i] = max(dp[i-1],sum);
    44       }
    45       sum =  0 ; 
    46       for(int i = 1;i <=n;i ++)
    47       {
    48            if(sum <= 0 )
    49                sum = 0 ; 
    50            sum += a[i];
    51            mi = max(mi,sum);
    52       }
    53       sum = 0 ;
    54       for(int i = n;i >= 1;i --)
    55       {
    56           sum += a[i];
    57           mi = max(sum + dp[i-1],mi) ;       
    58       }
    59       printf("%d
    ",mi);
    60    }
    61    return 0;
    62 }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    redis从入门到放弃 -> 数据持久化
    yum怎么用?
    centos7.2系统没有eth0网卡
    redis从入门到放弃 -> 部署方案
    redis从入门到放弃 -> 简介&概念
    mysql用户权限设置
    mysql安装注意
    解决windows下的mysql匿名登陆无法使用mysql数据库的问题
    参数化测试--sheet表的应用
    整理QTP知识之1
  • 原文地址:https://www.cnblogs.com/zyue/p/4340542.html
Copyright © 2011-2022 走看看