看书、思考、写代码!
/***************************************
* copyright@hustyangju
* blog: http://blog.csdn.net/hustyangju
* 题目:分治法求数组最大连续子序列和
* 思路:分解成子问题+合并答案
* 时间复杂度:O(n lgn)
* 空间复杂度:O(1)
********...
分类:
编程语言 时间:
2014-11-05 23:17:53
阅读次数:
209
注:网上搜的第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 10...
分类:
其他好文 时间:
2014-11-02 20:47:02
阅读次数:
939
最大连续子序列之和问题描述为:数组中里有正数也有负数,连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值。分析,对数组a进行一遍扫描,sum[i] 为前i个元素中,包含第i个元素且和最大的连续子数组,MaxSum保存当前子数组中最大和,对于a[i+1]来说,sum.....
分类:
其他好文 时间:
2014-10-30 01:47:35
阅读次数:
234
最大连续和的方法总结
第一种:暴力。复杂度O(n^3)。用两个循环枚举起点和终点,然后中间再放一个循环,计算这个起点到终点的连续和。
伪代码:
max = -INF;
s[maxn];
for i in range(1, len):
for(j in range(i, len)):
sum = 0;
...
分类:
其他好文 时间:
2014-10-29 13:08:54
阅读次数:
203
题目:给你一个n*n的01矩阵,求里面最大的1组成的矩形的米娜及。
分析:dp,单调队列。UVa 1330同题,只是输入格式变了。
我们将问题分解成最大矩形,即求解以k行为底边的图形中的最大矩形,然后合并,求最大的矩形;
预处理: 求出以每行为底边的每一列从底边开始向上的最大连续1的高度MaxH。 O(N^2) ;
...
分类:
其他好文 时间:
2014-10-24 22:19:16
阅读次数:
267
Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array[2,3,-2,4],the...
分类:
其他好文 时间:
2014-10-21 22:52:27
阅读次数:
278
分块,记录每个块内包括左端点的最大连续白段的长度,整个块内的最大连续白段的长度,和包括右端点的最大连续白段的长度。Because 是区间染色,所以要打标记。至于怎样在O(sqrt(n))的时间内找到最左的白色段呢?非常恶心…… 要考虑跨块的白段和块内的白段,并且顺序不能反。(代码中高亮的部分)这题完...
分类:
其他好文 时间:
2014-10-21 19:03:25
阅读次数:
254
数据范围小得可怕,但是依然需要怒跑400ms。
题意我就不多说了,样例看懂了题也就看懂了,说说解题的大体思路。
DFS应该没疑问了,就是以M为物品种类上限传参然后一个个物品大小枚举,可以用背包check。
但是这样估计会TLE,而且我们又该如何枚举该加入的物品的价值呢?它的上限在哪里?于是我们不妨先在枚举前跑一遍背包,然后确定最大连续能取得值maxm,那么新加...
分类:
其他好文 时间:
2014-10-20 15:11:57
阅读次数:
154
题目大意:求使连续子序列的和最大的第一元素,最后一个元素和子序列的和
思路:动态规划的方法,主要是找到状态转移方程。将之前累加和加上当前值
与当前值做比较, 如果将之前累加和加上当前值>当前值,那么加上当前值,
最后一个元素变为i,如果将之前累加和加上当前值<当前值,那么sum[i] = a[i]
,并且改变第一元素为i,最后元素为i。具体看代码。
状态转移方程:sum[i]=max(sum[i-1]+a[i],a[i]);...
分类:
其他好文 时间:
2014-10-17 22:01:12
阅读次数:
236