问一道关于数列的题
数学吧
全部回复
仅看楼主
level 1
iamjw 楼主
A是给定的数列,问如何选择B数列,使得下式最小?V = (|A(1) – B(1)| + |A(2) – B(2)| + ... + |A(N) – B(N)|) + (|B(1) – B(2)| + |B(2) – B(3)| + ... +|B(N-1) – B(N)|)
2006年08月14日 05点08分 1
level 1
B(N)=A(N)的算术平均数
2006年08月14日 13点08分 2
level 1
iamjw 楼主
这样不对吧。首先,A并不是一个有序的数列。其次,即使是有序也是不对的。如: 令 A = {1 , 2 , 3, 4}如果取 B = { 2.5,2.5, 2.5, 2.5}.则原式为 4而事实上如果我取B={1,2,3,4},则原式为3所以不能这样取啊。而且,A不是一个有序数列,即它没有固定的大小顺序。
2006年08月14日 14点08分 3
level 1
嗯,有问题但是A试确定数列,这是条件
2006年08月14日 15点08分 4
level 0
首先, 这的确是一道难题......... 要请高手来解决.一般来说, 可以找到不止一个{B(N)}, 符合题意.当{A(N)}无序时, 确有方法找出{B(N)}, 但太繁, 我无法写出初等公式. 当{A(N)}有序(从大到小/从小到大)时, B(N)=A(N) 就是一个解, 但此解也不唯一.
2006年08月15日 14点08分 5
level 1
iamjw 楼主
赫赫,不知有什么算法吗?其实这是一道计算机竞赛题……嗬嗬。只要有方法就行:)
2006年08月15日 14点08分 6
level 0
"计算机竞赛题" !! 你怎么不早说, 我一直想用人脑来解决这道题的啊!!!!!!!!!
2006年08月15日 14点08分 7
level 1
iamjw 楼主
呵呵呵……你有解题思路吗?
2006年08月15日 14点08分 8
level 1
iamjw 楼主
只要有了解题算法,就能实现程序了,嘿嘿
2006年08月15日 14点08分 9
level 0
我最近在思考另一道超难的数学题, 没有时间再做这题了, 再说我脑力也已枯竭. 下面就把我前面的研究成果简略地说一下, 希望能起到抛砖引玉的作用.
2006年08月15日 15点08分 10
level 0
(1) 极值存在的必要条件: 除B(1) 和 B(N)外, B(I)必须是 A(I),B(I-1),B(I+1) 三者的中位数; 而B(1) 与 B(N)分别介于 A(1),B(2) 与 A(N),B(N-1) 之间. (证略)
2006年08月15日 15点08分 11
level 0
(2) 由(1)可见, B(1),B(N) 对极值没有贡献, 可放在最后考虑.取极值时,V = ( |A(2) – B(2)| + ... + |A(N-1) – B(N-1)| ) + ( |B(2) – B(3)| + ... + |B(N-2) – B(N-1)| ) + |A(1) – B(2)| + |A(N) – B(N-1)|
2006年08月15日 15点08分 12
level 1
iamjw 楼主
好的,先谢谢你了啊:)赫赫
2006年08月15日 15点08分 13
level 0
(3) 接(2)的讨论, 由于(2)中的 V 也取极值, 故除了 " B(I)必须是 A(I),B(I-1),B(I+1) 三者的中位数(I=3,4,...,N-2)" 这条成立外,B(2) 与 B(N-1) 必须分别是 A(1),A(2),B(3) 与 A(N-1),A(N),B(N-2)的中位数. ----用这个条件先求 B(2)~B(N-1), 然后将 B(1) 与 B(N)分别插入 A(1),B(2) 与 A(N),B(N-1) 之间, 便得一极值. 由于最后插入的随意性, 所以对同一极值,{B(N)}的取法就有许多.
2006年08月15日 15点08分 14
level 1
iamjw 楼主
参考了一下别人的程序,好像这样就是对的:B[1] = A[1];B[i] = mid(A[i], B[i - 1], A[i + 1]);( 2 <= i <= n - 1)B[N] = B[N - 1];结合您的思路,是不是可以这样解释呢?当i 属于[2,n-1]时, B[i] 必须取B[i-1],B[i+1],A[i]的中间值,而B[i+1]又是B[i],B[i+2],A[i+1]的中间值,从而B[i]必定是B[i-1],A[i],A[i+1]的中间值。不知这样想合理吗?
2006年08月15日 16点08分 15
level 0
(4) 上面讨论的都是"单变极值", 即: 按上要求求出极值后, 若任意 B(i) 单独改变, 则 V 变大. 根据前面结论, 我们可以知道: 所求{B(N)}是一个缓变数列, 即: 对任意 I=3,4,...,N-2 不能有 B(I-1)
B(I+1), 也不能有 B(I-1)>B(I)
2006年08月15日 16点08分 16
level 0
(5) "万有极值" 存在, 如下: 取 B(I)={A(N)}的中位数, I=1,2,...,N然后经过一定的方法调整后即可得到最小值, 方法很繁, 我也没把握, ....................... 累死了, ........................让我休息一会儿再回复你吧.............
2006年08月15日 16点08分 17
level 0
计算机算法与人脑数学思维不同, 所以上述仅供参考!
2006年08月15日 16点08分 18
level 1
iamjw 楼主
好的:)
2006年08月15日 16点08分 19
level 0
回15 楼: 此问题我已经基本解开, 你的方法是不完全的, 若需求出所有的 {B(N)},就要再配合另一种相似的方法计算才行. 我证明了这些算法必能得出最小值(多亏了你给出那种算法, 才给了我启发!), 但过程较繁, 除了要基于我前面给出的成果之上外, 还要借助一个构造的概念才能讲清楚,这里就省略了(~笑)..........你那个算法是能得出一个{B(N)} 的.
2006年08月16日 16点08分 20
1 2 尾页