题目链接:点击查看

题目大意:求最大连续子段和,并输出其第一项和最后一项,若结果为负数,输出0,以及数组的第一项和最后一项

题目分析:简单动态规划,帮我复习了一下这种题目该怎么做。。动态规划一直是我的弱项,所以借此巩固一下基础,还有就是,英语不好真难受,或者说是自己太想当然了,看到这个题目的第一眼,先看了一眼题目,是要求最大连续子段和,然后看了一眼样例,以为是需要输出结果,以及首项的位置和尾项的位置,兴致勃勃的写了一发交上去,只过了一个样例??当时我就自闭了,感觉自己写的没问题,不管怎么改还是错,去网上看了一眼题解,发现是需要输出首项的值和尾项的值,而不是位置。。看到这个我都快哭了,改了半天竟然还是败在了英语上,随便一改交上去就A了。。

就是一个模板题,线性求最大连续子段和,也不用数组记录,在线求就行了,记得记录一下第一项和最后一项,最后万一答案是负数的时候可以直接输出了

相当于挂个模板吧,代码:

#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=110;int main()
{
//  freopen("input.txt","r",stdin);int n;scanf("%d",&n);int mmax=-inf;//子序列之和int ans=-inf;//最大子序列之和int st,ed,temp;//最大子序列的首项、尾项,以及辅助记录首项的tempint first,last;//整个数组的首项和尾项for(int i=1;i<=n;i++){int num;scanf("%d",&num);if(i==1)first=num;if(i==n)last=num;if(num>mmax+num)//若子序列之和变为负数,直接舍弃{mmax=num;temp=num;//记录一下当前子序列的起点}else//否则继续记录mmax+=num;if(mmax>ans)//若当前子序列之和大于最大子序列之和,则更新答案{ans=mmax;st=temp;//顺便更新一下当前子序列的起点ed=num;//以及当前的num为终点}}if(ans<0)//分情况输出cout<<0<<' '<<first<<' '<<last<<endl;elsecout<<ans<<' '<<st<<' '<<ed<<endl;return 0;
}

PAT (Advanced Level) 1007 Maximum Subsequence Sum(最大连续子段和)相关推荐

  1. 【PAT甲】1007 Maximum Subsequence Sum (25分),求最大字段和及区间

    problem 1007 Maximum Subsequence Sum (25分) Given a sequence of K integers { N ​1 ​​ , N ​2 ​​ , -, N ...

  2. PAT甲级1007 Maximum Subsequence Sum :[C++题解]DP,最大子序列和、求最优的区间方案

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: dp题. 这道题糅合了两个知识点: dp求最值(区间之和) 动态求区间方案:区间之和相等的条件下:要求区间左端点最靠前,如果左端点相 ...

  3. PAT 1007 Maximum Subsequence Sum

    1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A c ...

  4. PAT甲级--1007 Maximum Subsequence Sum (25 分)

    题目详情 - 1007 Maximum Subsequence Sum (25 分) (pintia.cn) Given a sequence of K integers { N1​, N2​, .. ...

  5. PAT甲级真题-1007 Maximum Subsequence Sum详解优化

    1007 Maximum Subsequence Sum 题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/9948055 ...

  6. 1007 Maximum Subsequence Sum

    1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A c ...

  7. 1007 Maximum Subsequence Sum

    1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continu ...

  8. PAT甲级 -- 1007 Maximum Subsequence Sum (25 分)

    Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is defined to ...

  9. 1007. Maximum Subsequence Sum (25)-PAT甲级真题(最大连续子序列和、动态规划dp)

    Given a sequence of K integers { N1, N2, -, NK }. A continuous subsequence is defined to be { Ni, Ni ...

最新文章

  1. 新建异常并处理java_java – 动态创建异常的工厂模式
  2. 二.Springboot 常用注解
  3. 核心动画的接触点滴(五)
  4. Redis failover过程
  5. 每日算法系列【LeetCode 685】冗余连接 II
  6. java 数组和集合的区别
  7. 阿铭Linux_传统IDC 部署网站学习笔记20190118
  8. 初等数学复习之一元二次方程的解法
  9. 使 abbr 元素适用于触摸屏、键盘和鼠标
  10. Codeforces Round #521 (Div. 3) E. Thematic Contests
  11. word怎么删除参考文献的横线_教大家word2016怎么去掉引用参考文献中的横线
  12. python密码游戏
  13. A15处理器和m1哪个好
  14. Scikit-learn机器学习实战之Kmeans
  15. 语法体系:快速区分同位语从句和定语从句day10
  16. k8s自定义资源CRD
  17. 开放系统工程师应用案例之如何协助管理者减轻公司山头的问题
  18. 太赫兹在医学诊断方面的应用
  19. 业界大盘点!文本相关性在搜广推三大场景中的应用!
  20. python闭包和装饰器的区别_深入理解Python中的闭包与装饰器

热门文章

  1. mysql 字符编码
  2. Spring程序开发
  3. 简单了解RestTemplate
  4. 为什么要用MyBatis-JDBC 连接数据库
  5. 微服务架构的实施现状
  6. SpringMVC简介-SpringMVC概述
  7. xml方式实现aop-快速入门
  8. Spring抽取jdbc配置文件
  9. ThreadLocal类以及应用技巧
  10. Ribbon-2通过代码自定义配置ribbon