树型动态规划.pptVIP

  • 4
  • 0
  • 约6.29千字
  • 约 32页
  • 2017-02-22 发布于上海
  • 举报
树型动态规划

总结 树型动态规划有一个共性,那就是它的基本模型都是一棵树或者森林,为了考虑方便,一般情况下都将这个树或森林转化为二叉树,如下图,然后整个问题的最优只会涉及到左右孩子的最优,然后考虑根结点的情况,这样化简了问题,最终很容易写出状态转移方程,从而问题得到解决。 另外,并不是所有的问题一定要转化为二叉树来解决,要仔细思考的就是每个结点有些什么状态,这些结点的状态与父、子结点的状态有什么联系,也就是如何由子结点的最优值推出父节点的最优值(即状态转移方程)。 * * * * * 树型动态规划 长沙市雅礼中学 朱全民 加分二叉树 给定一个中序遍历为1,2,3,…,n的二叉树 每个结点有一个权值 定义二叉树的加分规则为: 左子树的加分× 右子树的加分+根的分数 若某个树缺少左子树或右子树,规定缺少的子树加分为1。 构造符合条件的二叉树 该树加分最大 输出其前序遍历序列 样例 中序遍历为1,2,3,4,5的二叉树有很多,下图是其中的三棵,其中第三棵加分最大,为145. 分析 性质:中序遍历是按“左-根-右”方式进行遍历二叉树,因此二叉树左孩子遍历序列一定在根结点的左边,右孩子遍历序列一定在根结点的右边! 因此,假设二叉树的根结点为k,那么中序遍历为1,2,…,n的遍历序列,左孩子序列为1,2,…,k-1,右孩子序列为k+1,k+2,…,n,如下图 动态规划 设f(i,j)中序遍历为

文档评论(0)

1亿VIP精品文档

相关文档