动态规划及应用(曹).pptVIP

  • 19
  • 0
  • 约1.64万字
  • 约 80页
  • 2017-11-25 发布于河南
  • 举报
动态规划及应用(曹)

分析 我们可以发现这道题目给我们提供了一段序列,我们需要做的就是每次选取一个断开的点,然后把问题递归地求解就可以了。 这就为我们的动规提供了条件:具有最优子结构性质。 我们需要做出的决策,仅仅是从当前序列中选取一个点作为当前子树的根节点,所以动规的转移是O(n)的。 状态的确定 我们用opt[i,j]表示在[i..j]区间内可以获得的最大加分,用root[i,j]表示[i..j]范围内选取哪个结点作为根时可以获得最大加分。 对区间[i,j](ij),我们定义opt[i,j]:=1; 则有: opt[i,j]=max {opt[i,k-1]*opt[k+1,j]+value[k] | k=i,i+1,i+2..j} root[i,j]为对应的k值 Function search(left,right:longint):longint; {记忆化搜索} Var i:longint; Begin if opt[left,right]0 then exit(opt[left,right]); for i:=left to right do if search(left,i-1)*search(i+1,right)+value[i]opt[left,right] then begin opt[left,right]:

文档评论(0)

1亿VIP精品文档

相关文档