码迷,mamicode.com
首页 >  
搜索关键字:最大字段和    ( 78个结果
UVa 11059 - Maximum Product
题目:最大字段积。 分析:dp,最大字段和类似物。求解过程同最大字段和。             这里注意,设置两个状态:以本元素结束时,最大正值和最小的负值。             更新时,如果data[i]为正,则对应跟新,如果data[i]为负,则交叉跟新,             data[i]为0时,当前最大值,最小值置零。             本体数据较小,可以直接用O...
分类:其他好文   时间:2014-10-07 14:55:53    阅读次数:219
HDU1003 Max Sum(求最大字段和)
事实上这连续发表的三篇是一模一样的思路,我就厚颜无耻的再发一篇吧!题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003------------------------------------------------------------------...
分类:其他好文   时间:2014-09-30 12:47:49    阅读次数:161
zoj 2501 - A Mini Locomotive
题目:有一串数,从里面取出m个不同的区间,每个区间长度不能超过M,使得所取所有数字和最大。 分析:dp,单调队列,区间最大字段和。因为数据都是正的不需要单调队列维护(否则要使用)。             区间最大字段和,求出每个元素作为结束标志的前k项和;取结束位置作为dp状态;             然后,利用单调队列维护区间长度,O(1)时间查找满足长度的最小的前j项和,做差即可。 ...
分类:其他好文   时间:2014-09-27 11:32:09    阅读次数:205
最大字段和--GSS1 MUSHROOM ORZ
过于naive了= =作为一个知识点总结一下算了。主要就是合并。对于一个区间的最大字段和,可以分别事下面的两个区间的子段和,或者事左边的右边加右边的左边。然后搞一下 = =#include #include #include #include using namespace std;typedef ...
分类:其他好文   时间:2014-09-23 19:59:15    阅读次数:248
poj 2479 - Maximum sum
题目:找到一个序列中的两个连续段使得他们的和最大。 分析:dp,最大字段和。双向求最大字段和,枚举结束点找到加和最大值。 说明:与合唱队形类似。(同poj2593)(2011-09-24 02:09) #include #include int data[ 50005 ]; int asum[ 50005 ]; int bsum[ 50005 ]; void msum( int *D...
分类:其他好文   时间:2014-09-17 21:53:22    阅读次数:233
HDU1003 Max Sum
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1003题意:给你一组数字,求出最大的字段和。思路:这是一个经典的dp题目,定义数组a储存一组数字,a[j]为ji个数,dp[j]表示已j结尾的最大字段和,那么dp[j]=max(dp[j-1]+a[j],...
分类:其他好文   时间:2014-08-18 09:14:13    阅读次数:234
POJ 1050 To the Max DP题解
一维最大字段和的扩展。 要诀是固定列的左右点,比如左边记录为left, 右边记录为right,那么一个循环left从0到COL,行最大值,那么right从left开始循环到COl,就可以考虑到所有列组合了,这个循环是O(n*n),然后求范围列内的行最大子段和,时间是O(n), 这样巧妙地把二维的问题转化为一维了,最终时间复杂度是O(n^3)。 可以参考Geeks上的讲解,不过他的最大...
分类:其他好文   时间:2014-08-08 18:12:56    阅读次数:227
[ACM] POJ 2593 Max Sequence (动态规划,最大字段和)
Max Sequence Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15569   Accepted: 6538 Description Give you N integers a1, a2 ... aN (|ai| You should ou...
分类:其他好文   时间:2014-08-06 11:59:11    阅读次数:232
HDU 1024Max Sum Plus Plus(最大m字段和)
/* 动态转移方程:dp[i][j]=max(dp[i-1]+a[i], max(dp[t][j-1])+a[i]) (j-1 2 #include 3 #include 4 #define N 10000 5 using namespace std; 6 7 int dp[N][N...
分类:其他好文   时间:2014-07-29 17:02:02    阅读次数:344
[mock]7月25日
1. 将一个数组分成左右两部分,使得右边的某个连续子段和减去左边的某个连续字段和最小[7,8,9,|3,5,-1] sum right - sum left minimal想到左右分一刀,O(n),然后对左右分别取最大字段和算法,这样是O(n^2)。但是其实左右各扫一遍,然后记录下来就行了。int ...
分类:其他好文   时间:2014-07-26 01:50:46    阅读次数:219
78条   上一页 1 ... 5 6 7 8 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!