• 数塔问题给你有哪些启示?


         数塔问题是典型的dp问题之一,关键点:建立状态转移方程,这也是dp问题常见的一种思考方式(我不知道是不是所有的dp都是这种思考方式,看过的一些资料里面,建立状态转移方程很普遍,可能是自己碰到的面还不够广吧), 而这里还有一个更为重要的思考点就是从哪儿开始建立?

       题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2084 

        求经过结点数字之和最大值的问题,用二维数组来表示其中结构也是dp里面常用的方法,我觉的用这种方法可能更易于去建立某种关系:非线性—>线性. 因为我觉的dp的思为方式跨度再大,它也的是采用线性关系来让许多看是间断的,不连续的点变成连续的,线性的。数塔问题里面采用了倒序相加的思想,map[i][j]+=max(map[i+1][j] , map[i+1][j+1]).它没有从最后一个开始,而是从倒数第二行开始,这不得不让人佩服。然后,求出每一行和下一行的和的最大值,体现了很强的动态性,依次类推,最后map[0][0]就是所求的解了。

      当然这种思考方式在目前看来是很不错的,也很适合我们借鉴和学习。

      但方法再好,也不见得是最好的(我猜测的~~),只借鉴学习是不够的,我觉的最重要的是当你在思考某个问题的时候,这个问题里面有你自己独特的见解有几分,这很重要,因为多角度去思考问题更能拓展解决问题的能力。

    我的问题是,如果采用正序去求解,结果会又如何呢? 。。。。。。。。。

      

  • 相关阅读:
    our毕业短片
    Android Memory Management, OutOfMemoryError
    android autoswitched ImageSwitcher
    Storage size of Bitmap
    Frequentlyused URI of Intent
    小知识: 软件版本号讲解: 什么是Alpha, Beta, RC
    JSF框架中使用的设计模式介绍
    Unicode编码表/00000FFF
    Spring事务的传播行为和隔离级别
    领略Spring 3.x 时代的Spring MVC
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/2016240.html
Copyright © 2020-2023  润新知