洛谷p1115 最大连续子段和

3人阅读 评论(0) 收藏 举报
分类:

P1115 最大子段和

时空限制
1000ms / 128MB

题目描述
给出一段序列,选出其中连续且非空的一段使得这段和最大。
输入输出格式
输入格式:

输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。
第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。

输出格式:

输入文件maxsum1.out仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。

输入输出样例
输入样例#1:
7
2 -4 3 -1 2 -4 3
输出样例#1:
4
说明
【样例说明】2 -4 3 -1 2 -4 3
【数据规模与约定】
对于40%的数据,有N ≤ 2000。
对于100%的数据,有N ≤ 200000。

#include<iostream>
#include<stdio.h>
using namespace std;
const int maxn = 200005;
int a[maxn];
int N;
int Min = -99999999;//无穷小
//分治
int rec(int l,int r)  //左右界限
{
    if(l==r) return a[l];
    int mid = (l+r)/2;
    int sum=0;
    int l1=l,r1=r;
    int lmax=Min,rmax=Min;//左最大和右最大
    for(int i=mid;i>=l;i--){
        sum+=a[i];
        lmax = max(lmax,sum);
    }
    sum=0;
    for(int i=mid+1;i<=r;i++){
        sum+=a[i];
        rmax = max(rmax,sum);
    }
    return max(max(rec(l,mid),rec(mid+1,r)),lmax+rmax);

}
int main()
{
    cin >> N;
    for(int i=0;i<N;i++){
        scanf("%d",&a[i]);
    }
    int result = rec(0,N-1);
    printf("%d\n",result);
    return 0;
}
查看评论

【前缀和】洛谷 P1115 最大子段和

题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式:输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。第2行包含N个绝对值不大于10000的...
  • hyj542682306
  • hyj542682306
  • 2017-04-24 09:32:54
  • 279

最大连续子序列之和练习最大m子段和问题

/* Name: 最大m子段和问题 Author: 巧若拙 Description: 最大m子段和问题 给定由 n个整数(可能为负整数)组成的序列a1,a2,a3,……,an,以...
  • QiaoRuoZhuo
  • QiaoRuoZhuo
  • 2017-08-12 15:07:40
  • 518

bzoj 5089: 最大连续子段和

单调凸包+分块?
  • qq_36797743
  • qq_36797743
  • 2017-12-09 09:55:34
  • 249

数据结构面试题总结7——数组:最大连续子段和、最大连续子段积

问题描述:给定一个数组(元素可负,输出数组的任何连续子数组中的最大值。 此题有很多种解法。 第一种:循环嵌套,找出所有组合,记录最大值。时间复杂度O(n^2)。 int MaxSum(int *v,i...
  • B_Allen
  • B_Allen
  • 2015-05-30 15:37:22
  • 853

洛谷 P1115 最大子段和

动态规划
  • Rlt1296
  • Rlt1296
  • 2016-11-09 20:22:53
  • 276

BZOJ 5089: 最大连续子段和

似乎还没有人写题解,所以访问量是不是应该多点?
  • cgh_Andy
  • cgh_Andy
  • 2017-11-25 08:20:16
  • 566

leetCode: 求最大子段和,最大子段乘积,求除了其本身之外的其他数的乘积

/** 最大子段和: */ int maxSubArray(vector& nums) { vectorres(nums.size(),INT_MIN); res[0] = nums[...
  • u013994536
  • u013994536
  • 2016-04-17 13:32:41
  • 367

HDU 1231 最大连续子序列(最大连续子段和)

Description 求最大连续子段和,并输出此字段的起始位置和终止位置的值 Input 多组用例,每组用例第一行为序列长度n,第二行n个整数表示该序列,以n=0结束输入 Output 对...
  • V5ZSQ
  • V5ZSQ
  • 2015-09-06 08:29:34
  • 1704

(POJ2750)Potted Flower <环形最大连续子段和 线段树单点更新>

Potted Flower DescriptionThe little cat takes over the management of a new park. There is a large c...
  • STILLxjy
  • STILLxjy
  • 2016-12-18 11:11:31
  • 693

5089: 最大连续子段和

题目链接 题目大意:带区间修改的区间最大连续子段和 题解:科(毒)学(瘤)的分块做法–出题人题解 然而暴力可过…… 我的收获:…… #include #include #includ...
  • Mmh2000
  • Mmh2000
  • 2018-01-03 17:19:55
  • 159
    个人资料
    持之以恒
    等级:
    访问量: 578
    积分: 242
    排名: 32万+
    文章存档
    最新评论
  • HDU 3349

    hanyanwei123: [reply]zhugeaming2018[/reply] O(∩_∩)O,谢谢,还是个小白,努力...