PAT (Advanced Level) 1007 Maximum Subsequence Sum(最大连续子段和)
题目链接:点击查看
题目大意:求最大连续子段和,并输出其第一项和最后一项,若结果为负数,输出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(最大连续子段和)相关推荐
- 【PAT甲】1007 Maximum Subsequence Sum (25分),求最大字段和及区间
problem 1007 Maximum Subsequence Sum (25分) Given a sequence of K integers { N 1 , N 2 , -, N ...
- PAT甲级1007 Maximum Subsequence Sum :[C++题解]DP,最大子序列和、求最优的区间方案
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: dp题. 这道题糅合了两个知识点: dp求最值(区间之和) 动态求区间方案:区间之和相等的条件下:要求区间左端点最靠前,如果左端点相 ...
- PAT 1007 Maximum Subsequence Sum
1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, ..., NK }. A c ...
- PAT甲级--1007 Maximum Subsequence Sum (25 分)
题目详情 - 1007 Maximum Subsequence Sum (25 分) (pintia.cn) Given a sequence of K integers { N1, N2, .. ...
- PAT甲级真题-1007 Maximum Subsequence Sum详解优化
1007 Maximum Subsequence Sum 题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/9948055 ...
- 1007 Maximum Subsequence Sum
1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, ..., NK }. A c ...
- 1007 Maximum Subsequence Sum
1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, ..., NK }. A continu ...
- PAT甲级 -- 1007 Maximum Subsequence Sum (25 分)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to ...
- 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 ...
最新文章
- 新建异常并处理java_java – 动态创建异常的工厂模式
- 二.Springboot 常用注解
- 核心动画的接触点滴(五)
- Redis failover过程
- 每日算法系列【LeetCode 685】冗余连接 II
- java 数组和集合的区别
- 阿铭Linux_传统IDC 部署网站学习笔记20190118
- 初等数学复习之一元二次方程的解法
- 使 abbr 元素适用于触摸屏、键盘和鼠标
- Codeforces Round #521 (Div. 3) E. Thematic Contests
- word怎么删除参考文献的横线_教大家word2016怎么去掉引用参考文献中的横线
- python密码游戏
- A15处理器和m1哪个好
- Scikit-learn机器学习实战之Kmeans
- 语法体系:快速区分同位语从句和定语从句day10
- k8s自定义资源CRD
- 开放系统工程师应用案例之如何协助管理者减轻公司山头的问题
- 太赫兹在医学诊断方面的应用
- 业界大盘点!文本相关性在搜广推三大场景中的应用!
- python闭包和装饰器的区别_深入理解Python中的闭包与装饰器