问题描述: x[i]中,从任意一个数x[a]到x[b](a<=b)的连续的序列叫做x[i]的子序列, x[i]的子序列的和叫做x[i]的子序列的序列和。 现在已知序列x[i],求一些关于最大序列和的问题答案。 一、子序列最大和 【方法一】 朴素的查找,利用S[i]=S[0]+…+S[i] 进行一次O ...
分类:
其他好文 时间:
2016-07-02 17:12:51
阅读次数:
154
概述:给出一段序列,求在这段序列中能求出的最大和,并且表示出这个和是从那里开始到哪里结束。
思路:最大序列和的问题。讲课时候讲过一道这样的题目,但是与那道题目不同的是,这道题要求把序列开始时数字的位置和结束时数字的位置写出,这个就要求在结束时选择的数字相等时就是结束的标志,然后倒着推回去,当数字相等时就是开始的位置。
思路:上午上课做的这道题,最开始落掉了位置这个。。wa了,改掉之后又然后因为...
分类:
其他好文 时间:
2016-05-13 00:34:30
阅读次数:
154
题意是只求一次的顺序,先按照速度从大到小排序,速度想等到按体重增序排列。
然后基本就变成了求已定顺序序列的最长递增序列递增,跟那个求一致最大序列和的基本一致。
dp【i】里存储的是到当前i最大的递增序列个数最大的数。
dp[i+1]就是在a【i+1】大于前面的a【j】的情况下,dp【i+1】=dp【j】+1;
输出的就是从最大的dp【】值从后往前输出,所以用了个栈改成从前往后。
以为题意...
分类:
其他好文 时间:
2015-07-06 16:08:16
阅读次数:
96
题目链接:点击打开链接
解题思路:
很经典的一道题。首先考虑一下细节问题,当序列都是0时,显然最后要输出0;当序列都是负数时,显然要输出最大的数。
细节处理完了,就可以回到正常轨道。我们开两个变量,分别保存当前的序列和与之前的最大值,我们更新当前序列和的条件是如果当前序列和是负数的时候,那我们必须更新,否则一定会使最后结果减小。更新过程中还要更新之前最大值即可。
完整代码:...
分类:
其他好文 时间:
2015-05-02 16:34:37
阅读次数:
122
题目1077:最大序列和
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4836
解决:1401
题目描述:
给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。
对于S的所有非空连续子序列T,求最大的序列和。
变量条件:N为正整数,N≤1000000,结果序列和在范围(-2^63,2...
分类:
其他好文 时间:
2014-12-16 13:34:07
阅读次数:
174
1.背景 最大序列和问题一直以来是一个比较经典的算法题,看到这个问题,有很多解题的办法。今天看到了一种时间复杂度只为O(n)的解题算法,在这里记录下。 思路很简单,比方说有P1,P2,P3,P4.....这样一个序列,我们从P1开始求和,比如说在P5时求和数小于零,就可以断定。第一种情况,最大序列在P1~P5之间,或者说在P6~Pn之间。因为如果P1...
分类:
编程语言 时间:
2014-11-21 20:34:45
阅读次数:
253