zoukankan      html  css  js  c++  java
  • P1115 最大子段和

    题目描述

    给出一段序列,选出其中连续且非空的一段使得这段和最大。

    输入输出格式

    输入格式:

    第一行是一个正整数NNN,表示了序列的长度。

    第二行包含NNN个绝对值不大于100001000010000的整数AiA_iAi,描述了这段序列。

    输出格式:

    一个整数,为最大的子段和是多少。子段的最小长度为111。

    输入输出样例

    输入样例#1: 复制
    7
    2 -4 3 -1 2 -4 3
    输出样例#1: 复制
    4

    说明

    【样例说明】

    2,−4,3,−1,2,−4,32,-4,3,-1,2,-4,32,4,3,1,2,4,3中,最大的子段和为4,该子段为3,−1,23,-1,23,1,2.

    【数据规模与约定】

    对于40%40\%40%的数据,有N≤2000N ≤ 2000N2000。

    对于100%100\%100%的数据,有N≤200000N ≤ 200000N200000。

    我真是,现在看到一道动归的题就想写。。。

    这道题可以用暴力,代码可以自己写,写一下动态规划

    分析:如果加上下一个元素值比不加当前元素值还小,就和当前的最大值进行比较,然后从下一元素进行新的动态规划。。。

     1 #include<iostream>
     2 using namespace std;
     3 #define INF 0x3f3f3f3f
     4 
     5 int main(){
     6     int n;
     7     cin>>n;
     8     int a[n+1];
     9     for( int i=1; i<=n; i++ ){
    10         cin>>a[i];
    11     }
    12     int cur=0;
    13     int ans=-INF;
    14     for( int i=1; i<n; i++ ){
    15         cur=(cur+a[i]>a[i])?cur+a[i]:a[i];
    16         if(cur>ans) ans=cur;
    17     }
    18     cout<<ans<<endl;
    19     return 0;
    20 }
    有些目标看似很遥远,但只要付出足够多的努力,这一切总有可能实现!
  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/Bravewtz/p/10513591.html
Copyright © 2011-2022 走看看