Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

对标准算法提出的怀疑

Posted by CZDleaf at 2011-07-22 09:52:21 on Problem 1015
此题大多数人的算法是:
用F[i,j]表示,已经选择i个人,差值之和为j,最大的和值之和
枚举嵌套顺序是,已经选择多少人->此次选择哪个人->差值之和

这样会出现的问题是,用同一人重复更新,即F[i,j]的最优解对应的路径已经包括陪审员k,还要用F[i,j]加上陪审员k去转移到下一个状态。

为了解决这个问题,算法加上了验证F[i,j]的路径中是否含有k的步骤,一些程序使用二进制压缩表示来验证,本质是相同的。

但是,这样的修修补补是否保证正确呢?如果答案是某个F[i,j]加上陪审员k构成的,但F[i,j]的最优解已经包括陪审员k,答案应当是F[i,j]的次优解加上陪审员k,这种情况就无法求出答案了。去除了后效性,是不是还能够保证最优子结构性质?

也许有人解释说:背包问题与取物次序无关,但这毕竟不是简单的一维背包问题。我无法构造出上述的数据,因此我猜想这种情况根本不存在,但不知是否能够严格证明,或者指出我上述思路的错误性。

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator