分治法
vufw_795
Mood decides everything.
展开
-
sicily 1136(线段树+最大子数组)
题目链接:sicily 1136解题思路: 要求区间内的最大子数组,而且访问可能很频繁,时间复杂度需要达到o(n*logn),于是就很自然地想到了线段树。我们可以用线段树来保存区间的最大子数组,但是仔细想想又不对劲了,如果访问的区间跨越了两个小区间怎么破,所以,这并不只是一个简单的求区间连续和的问题,还要有点小技巧。 最大子数组怎么得到的,还记得《算法导论》里面讲过一种用分治法来求最大子数组的方原创 2015-03-19 19:36:19 · 567 阅读 · 0 评论 -
分治法——最大子数组
题目描述: 给定一个n个元素的数组a,求a[i]+a[i+1]+…+a[j]的最大值(0 <= i <= j < n)解题思路: 我们来试试用分治法来解决这个问题。首先我们想要找到一个子数组a[i…j]为最大子数组,我们假设数组的中点为mid,可以将数组a[low…high]分成两个子数组:a[low…mid]和a[mid+1…high],那么最大子数组必然为下述三种可能之一: 1) low原创 2015-03-10 20:38:02 · 1919 阅读 · 0 评论