最大子段和等问题
AC之路有笑有泪
搞ACM挺好的,就是头有点冷。
展开
-
51nod 1049 最大子段和
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1049题意:给你一个序列,求最大连续段的和。大水题:用一个sum统计和,用一个ans统计答案,每次用sum加上一个数字a[i],如果sum小于零就把sum清零(小于零的一段区间和一定不会在答案的那个区间里,所以可以不要了),每次用更新一下ans。1049 最大子段和基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏原创 2017-11-06 23:20:37 · 175 阅读 · 0 评论 -
51nod 1050 循环数组最大子段和
题意:给你一些数字围成一圈,让你在其中选一段,求这一段的最大值。思路:先不考虑圈,如果这是一列数字的话,那么我们可以求出其中一段的最大值,这样如果我们不考虑圈,我们求出这个序列的最小子段和,用总的减去这个最小值,不就是收尾相连的最大值了吗。所以只需要O(n)求出最大最小连续区间值即可。原创 2017-11-06 23:49:11 · 237 阅读 · 0 评论 -
51nod 1051 最大子矩阵和
题意:给你一个矩阵,让你求出其中子矩阵的最大值为多少?思路:感觉这题除了暴力没啥好的方法了(纯属个人认为)。用a[i][j]存第i列的前j个数字的和。然后枚举所有可能的行(从第i行到第j行),然后就跟n个数字求最大子段和没区别了。原创 2017-11-07 00:00:40 · 208 阅读 · 0 评论 -
51nod 1065 最小正子段和
题意:求最小的正子段和。思路:先将前n项和求出来,然后排个序,这样使得相邻两项的差最小,要再符合是正的就行,必须是后面的前i项和减去前面j项和,要保证i>j的;然后符合条件的,更新一下ans即可。原创 2017-11-07 00:13:46 · 262 阅读 · 0 评论