码迷,mamicode.com
首页 >  
搜索关键字:最大子段和    ( 348个结果
Spoj 2916 Can you answer these queries V 线段树 求任意重叠区间的最大子段和
题目链接:点击打开链接 题意: T个测试数据 n个数字 q个询问 每个询问 : [x1, y1] [x2, y2]  问: int ans = -inf; for(int i = x1; i <= y1; i++) for(int j = max(x2, i); j <= y2; j++) ans = max(ans, query(i, j)); #include #inc...
分类:其他好文   时间:2014-09-01 17:50:03    阅读次数:227
Spoj 1716 Can you answer these queries III 线段树 单点修改 区间求最大子段和
题目链接:点击打开链接 == 原来写1的时候已经把更新函数写好了。。 #include #include #include #include #include #include #include using namespace std; #define N 50050 #define Lson(x) tree[x].l #define Rson(x) tree[x].r ...
分类:其他好文   时间:2014-08-31 20:08:01    阅读次数:247
Spoj 1557 Can you answer these queries II 线段树 任意区间最大子段和 不重复数字
题目链接:点击打开链接 每个点都是最大值,把一整个序列和都压缩在一个点里。 #include #include #include #include #include using namespace std; #define N 100005 #define Lson(x) (x<<1) #define Rson(x) (x<<1|1) #define L(x) tre...
分类:其他好文   时间:2014-08-31 14:33:31    阅读次数:169
HDU 1024 Max Sum Plus Plus Dp题解
本题就是求m段子段,而且要求这些子段加起来和最大,最大子段和的Plus版本。 不过题意真的不好理解,x,y什么的都没有说清楚。 知道题意就开始解题了,这肯定是动态规划法了。 动态规划法的程序不难写,关键是抽象思维。 这里的最小情况是只分成一段的时候,就退化为最大子段和问题了,这个是段数的最小情况了; 如果只有0个数的时候,结果肯定为零了,或者如果只有一个数的时候就是这个数了,那么数列只有0...
分类:其他好文   时间:2014-08-15 14:41:48    阅读次数:164
hdoj 1003 Max Sum 【最大子段和】【贪心】
题意:。。。 策略:看着像贪心,感觉也是贪心。 很久之前做的,又做了一遍,好题。 代码: #include #include int s[100005]; int main() { int t, i, j, l, st, en, n, v = 1; scanf("%d", &t); while(t --){ scanf("%d", &n); for(i = 1; i <= n...
分类:其他好文   时间:2014-08-14 23:54:16    阅读次数:201
Codeforces 75D Big Maximum Sum 最大子段和 dp
题目链接:点击打开链接 题意: 第一行 n m n个vector 下面n行 第一个数字u表示vector 的大小,然后后面u个数字给出这个vector 最后一行m个数字 表示把上面的vector拼接起来 得到一个大序列,求这个大序列的最大子段和 先预处理出每个vector的最大子段和,左起连续最大,右起连续最大,所有数的和 然后dp 一下。。 #include ...
分类:其他好文   时间:2014-08-13 18:55:07    阅读次数:266
dp1050
求最大子矩阵和的时候,思路是取出两行i,j,把这两行之间同一列的都加起来形成另外一个数组,求这个数组的最大子段和,求出来的这个和,就是这两行之间高度为i-j的子矩阵中最大的和。POJ1050#include#includeint a[101][101],n,temp[101];int solve()...
分类:其他好文   时间:2014-08-13 12:45:16    阅读次数:208
求最大子段和的一些算法
public class MaxSubSeqSum { /** * 算法1,穷举搜索 */ public static final int maxSubSeqSum1(int seq[]) { int length = seq.length; int sum = 0; for (int i = 0; i < length; i++) { for (int j = i;...
分类:其他好文   时间:2014-08-10 15:46:40    阅读次数:221
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
最大子段和
一维数组: 有n个数(以下都视为整数),每个数有正有负,现在要在n个数中选取相邻的一段,使其和最大,输出最大的和。[a1,a2,a3................,an].动态规划很容易解决该问题:int maxSum(int a[],int n){ int sum=0; int b=...
分类:其他好文   时间:2014-08-06 22:22:12    阅读次数:187
348条   上一页 1 ... 32 33 34 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!