由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 求教 优化算法 迫切等待。多谢
相关主题
Part 2 的解答[合集] Proof by Contradition !!! Re: destro
关于随机矩阵的问题问一个信号采样的问题
[转载] 请教一个随机过程的问题请教一个初级算法问题
为啥叫浮点?如何在一个连续点分布中求出最远的两点之间距离?
one algorithm question算法问题,找出现频率最高的元素
谁知道 一致有限性 英语怎么翻? 谢了.请教个简单的几何算法问题 (转载)
Bayes中一个公式中的arg什么意思啊?耐心看完这贴,再考虑转行cs的事情。 (转载)
[合集] Proof by Contradition !!! Re: destro爱CS求个算法
相关话题的讨论汇总
话题: max话题: linear话题: 数字话题: 最大值话题: complexity
进入CS版参与讨论
1 (共1页)
b*****o
发帖数: 240
1
12个一组数据(有正有负),求组合求和最大值。要求:最少有4个数字(最多不限)相
加,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了。)
………………
比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3
可不可请给出算法(source code)与结果。多谢了。
s***t
发帖数: 113
2
Denote A[i][j] = \sum_{i<=k<=j}. Then check all A[i][j] so that j>=i+3 to find
the max. O(n^2) complexity.



【在 b*****o 的大作中提到】
: 12个一组数据(有正有负),求组合求和最大值。要求:最少有4个数字(最多不限)相
: 加,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了。)
: ………………
: 比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3
: 可不可请给出算法(source code)与结果。多谢了。

t*s
发帖数: 1504
3
俺想到一种线性地。。。

find

【在 s***t 的大作中提到】
: Denote A[i][j] = \sum_{i<=k<=j}. Then check all A[i][j] so that j>=i+3 to find
: the max. O(n^2) complexity.
:
: 相

s***t
发帖数: 113
4
how is your alg going? O(N) seems a little challenging for me.

【在 t*s 的大作中提到】
: 俺想到一种线性地。。。
:
: find

t*s
发帖数: 1504
5
A[i] i=1 to n-3 代表以第i个数字开头的串的最大值
V[i] i=1 to n 代表第i个的值
A[n-3]=V[n-3]+V[n-2]+V[n-1]+V[n] 一种可能
A[n-4]=max { V[n-4]+V[n-3]+V[n-2]+V[n-1], V[n-4]+A[n-3] }
A[n-5]到A[1]依此可得



【在 b*****o 的大作中提到】
: 12个一组数据(有正有负),求组合求和最大值。要求:最少有4个数字(最多不限)相
: 加,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了。)
: ………………
: 比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3
: 可不可请给出算法(source code)与结果。多谢了。

s***e
发帖数: 284
6
最好的那个子串一定以正数开始
而且前面的串之和一定小于0

【在 s***t 的大作中提到】
: how is your alg going? O(N) seems a little challenging for me.
s***t
发帖数: 113
7
sounds good.

【在 t*s 的大作中提到】
: A[i] i=1 to n-3 代表以第i个数字开头的串的最大值
: V[i] i=1 to n 代表第i个的值
: A[n-3]=V[n-3]+V[n-2]+V[n-1]+V[n] 一种可能
: A[n-4]=max { V[n-4]+V[n-3]+V[n-2]+V[n-1], V[n-4]+A[n-3] }
: A[n-5]到A[1]依此可得
:
: 相

s***e
发帖数: 284
8
没写清楚啊
A[n-5]到底怎么算?

【在 t*s 的大作中提到】
: A[i] i=1 to n-3 代表以第i个数字开头的串的最大值
: V[i] i=1 to n 代表第i个的值
: A[n-3]=V[n-3]+V[n-2]+V[n-1]+V[n] 一种可能
: A[n-4]=max { V[n-4]+V[n-3]+V[n-2]+V[n-1], V[n-4]+A[n-3] }
: A[n-5]到A[1]依此可得
:
: 相

t*s
发帖数: 1504
9
A[n-5]=max { V[n-5]+V[n-4]+V[n-3]+V[n-2], V[n-5]+A[n-4] }

没写清楚啊
A[n-5]到底怎么算?

【在 s***e 的大作中提到】
: 没写清楚啊
: A[n-5]到底怎么算?

h****t
发帖数: 93
10
<>上有类似问题,最优解是线性的.



【在 b*****o 的大作中提到】
: 12个一组数据(有正有负),求组合求和最大值。要求:最少有4个数字(最多不限)相
: 加,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了。)
: ………………
: 比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3
: 可不可请给出算法(source code)与结果。多谢了。

相关主题
谁知道 一致有限性 英语怎么翻? 谢了.[合集] Proof by Contradition !!! Re: destro
Bayes中一个公式中的arg什么意思啊?问一个信号采样的问题
[合集] Proof by Contradition !!! Re: destro爱CS请教一个初级算法问题
进入CS版参与讨论
P*****f
发帖数: 2272
11
it's linear. The problem without the constraints that at least consisting of 4
was one problem in our final.
The idea is define the maximium sequence ends/starts at each elements. Then
evaluate both the signs of next element and the privous sequence to grow the
problem size

【在 h****t 的大作中提到】
: <>上有类似问题,最优解是线性的.
:
: 相

b*****o
发帖数: 240
12
(首先谢谢前几位的智慧襄助)
12个一组数据(有正有负),可分割成几块(不可重复分割),但要求:最少有4个数字
(最多不限)一组,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了
。)
…………
注意,各组之间可以舍弃一些数(例如第一组数选中x1,x2,x3,x4; 第二组数选中x7,x8,
x9,x10,x11)
求:哪种分割法时,各组数相加指最大。最终求此最大值。
假设这12个数字全是正的,那其组合就是本12个数,最大值就是这12个数的和。
比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3
可不可请给出算法(source code)与结果。多谢了。
t*s
发帖数: 1504
13
i think it's still linear



,

【在 b*****o 的大作中提到】
: (首先谢谢前几位的智慧襄助)
: 12个一组数据(有正有负),可分割成几块(不可重复分割),但要求:最少有4个数字
: (最多不限)一组,但这组数字必须连续(如果取x1,x2, x4,x5,就不行,因为x3漏掉了
: 。)
: …………
: 注意,各组之间可以舍弃一些数(例如第一组数选中x1,x2,x3,x4; 第二组数选中x7,x8,
: x9,x10,x11)
: 求:哪种分割法时,各组数相加指最大。最终求此最大值。
: 假设这12个数字全是正的,那其组合就是本12个数,最大值就是这12个数的和。
: 比如这12个数字是:3, -2, 0, 1, -1, 2, 3, -4, -2, 4, -1, 3

b*****o
发帖数: 240
14
可以给些具体点的吗?谢了

【在 t*s 的大作中提到】
: i think it's still linear
:
: 字
: 了
: ,

t*s
发帖数: 1504
15
A[i]还是表示从i开始的最大值
A[n]到A[n-2]都是不可能
A[n-3]一种可能
...
A[n-k]=max{ 接下来4个+A[n-k+4], 接下来5个+A[n-k+5],接下来6个+A[n-k+6],接下来7
个+A[n-k+7] } //8个以上的不用考虑了,可以拆成两段看
最后找到最大的A

【在 b*****o 的大作中提到】
: 可以给些具体点的吗?谢了
b*****o
发帖数: 240
16
it is not clear yet.....
I am not looking for one A. I am looking for max of the sum of multiple A.
Within each A, there should be 4 or more consecutive numbers. and no overlap
between different A. Do you have any idea? Thanks.

来7

【在 t*s 的大作中提到】
: A[i]还是表示从i开始的最大值
: A[n]到A[n-2]都是不可能
: A[n-3]一种可能
: ...
: A[n-k]=max{ 接下来4个+A[n-k+4], 接下来5个+A[n-k+5],接下来6个+A[n-k+6],接下来7
: 个+A[n-k+7] } //8个以上的不用考虑了,可以拆成两段看
: 最后找到最大的A

t*s
发帖数: 1504
17
我就是这个意思

【在 b*****o 的大作中提到】
: it is not clear yet.....
: I am not looking for one A. I am looking for max of the sum of multiple A.
: Within each A, there should be 4 or more consecutive numbers. and no overlap
: between different A. Do you have any idea? Thanks.
:
: 来7

r****c
发帖数: 2585
18
第一个问题的time complexity is linear, and space complexity is O(1)
只给一个简单可以理解的solution,
1. 先考虑所有长度为四的连续数字,找出最大的一个,一共需要linear time and O(1)
space. Let max be the sum of the max solution.
2. 考虑长度为四以上的数字,如果是最大,头和尾一定是正数. 从第一个正数开始linear
scan
a) assume first positive is A[i], consider x = A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4
], j=A+5
if it is negative then begin from A[j] and find first positive one.
b) If x is positive, then iteratively add x=x+A[j] until x become negative. In
this process,
if x > max, then se

【在 t*s 的大作中提到】
: 我就是这个意思
t*s
发帖数: 1504
19
your algorithm is wrong
see: 1 -inf 1 1 1 1 1

linear
+4
In

【在 r****c 的大作中提到】
: 第一个问题的time complexity is linear, and space complexity is O(1)
: 只给一个简单可以理解的solution,
: 1. 先考虑所有长度为四的连续数字,找出最大的一个,一共需要linear time and O(1)
: space. Let max be the sum of the max solution.
: 2. 考虑长度为四以上的数字,如果是最大,头和尾一定是正数. 从第一个正数开始linear
: scan
: a) assume first positive is A[i], consider x = A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4
: ], j=A+5
: if it is negative then begin from A[j] and find first positive one.
: b) If x is positive, then iteratively add x=x+A[j] until x become negative. In

r****c
发帖数: 2585
20
Just for negative not begin from A[j], begin from
the first number that is A[i+1]
j=i+5 should put in b).
Actually the linear scan is enough, the basic idea
should be there.

【在 t*s 的大作中提到】
: your algorithm is wrong
: see: 1 -inf 1 1 1 1 1
:
: linear
: +4
: In

r****c
发帖数: 2585
21
the key idea is that if it is greater than length 8,
it can decomposed into several small chunks such that
every chunks with length smaller than 8,
the output keeps the same.
1 (共1页)
进入CS版参与讨论
相关主题
求个算法one algorithm question
[转载] 有人明白Max-Plus Linear吗?谁知道 一致有限性 英语怎么翻? 谢了.
Absolute equantions in Linear Programming??Bayes中一个公式中的arg什么意思啊?
[转载] 有什么好的free的software算LP?[合集] Proof by Contradition !!! Re: destro爱CS
Part 2 的解答[合集] Proof by Contradition !!! Re: destro
关于随机矩阵的问题问一个信号采样的问题
[转载] 请教一个随机过程的问题请教一个初级算法问题
为啥叫浮点?如何在一个连续点分布中求出最远的两点之间距离?
相关话题的讨论汇总
话题: max话题: linear话题: 数字话题: 最大值话题: complexity