level 1
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
这样不对吧。首先,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
赫赫,不知有什么算法吗?其实这是一道计算机竞赛题……嗬嗬。只要有方法就行:)
2006年08月15日 14点08分
6
level 1
参考了一下别人的程序,好像这样就是对的: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