风雪梦

柳絮因风起

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 76 Stories :: 3 Comments :: 0 Trackbacks

常用链接

留言簿

我参与的团队

搜索

  •  

最新评论

  • 1. re: LightOJ1080 Binary Simulation
  • 话说加个PushDown操作不就OK了咩?
  • --仗剑奔走天涯
  • 2. re: 正式开博
  • 加油!
  • --leafcloudsky
  • 3. re: 启航杯啊
  • 太屎了!!我竟然就这么的WA了两次,最终发现,第四题少了两句初始化,第五题把数组开错地方了,算法没问题,结果就这么从四题跌到二题,太伤不起了!!可怜我调spfa调了一晚上!!尼玛啊!!
  • --浅雨歌

阅读排行榜

评论排行榜

电脑正在升级系统,我上来稍稍溜达溜达。

今天找磊哥给我讲了讲动态规划,真心受益,为了防止以后忘了,总结一下先。

磊哥是从寻找一个有向无环图的最短路讲起的,有向无环图的讲法参看《算法导论》,在这里我就不重复说一遍了,因为我实在是没有办法把图画出来。

实际上磊哥解决了我的一个疑惑,利用他的经验。

做 动态规划题对我来说最为闹心的就是寻找状态,寻找最优子结构,貌似这两个一有困难动态规划的题根本就没法做了。磊哥告诉我的做法就是枚举状态,所谓枚举状 态就是把这道题所有可能当状态的东西都列出来,然后一个个去进行排除。排除的过程是这样的,首先要进行定义,也就是说要明确这个状态到底是什么,有什么用 处,然后再用这个状态画有向无环图,如果画有向无环图的过程中推理出由这个状态,后面的根本无法实现或者说出现了矛盾,那么这个状态就是错的,最终一定能 够枚举出来一个正确的状态。

/*一说到枚举,就要考虑一下时间复杂度,但是我认为这个可以忽略不计,就算是对于人脑来说,因为一道题之中貌似能找出来的状态应该不能超过手指能查找的范围。好吧,以上是仅供娱乐的题外话。*/

枚 举出来一个正确的状态之后,那么就要进入下一个纠结的状态,那就是寻找最优子结构,磊哥的做法我认为非常高明,那就是我前文所提到的有向无环图,以状态当 结点,转化关系当作边权,画有向无环图,然后参照着有向无环图的那种方式来寻找最优子结构,但是纠结的就是怎么做边权,这个确实闹心,这块硬骨头只能是一 点点去啃了。

最优子结构推出来以后,下一步就是推状态转移方程,这个没有别的办法,就是用最优子结构中所体现的转化关系来推状态转移方程了……

以上这些是磊哥给我讲的东西的总结版,目测回忆起来应该是全的,然后按照磊哥的指令(也是执行飞哥说的这个月开始推动态规划的计划),应该继续寻求动态规划入门,磊哥的意思是做一堆水题练练思想,那么就做吧……然后就应该百度一下DP水题,开始刷,刷一段时间水题吧,怎么说呢,练练思想,先入了动态规划的门,高级动态规划有我啃的呢!

飞哥给我定的计划应该是严格执行的,然后我自己定的那个比较山寨的学习计划也应该执行下去,毕竟数据结构也是个伤,本学期好歹要把数据结构基础拿下了,动态规划入门了……

posted on 2012-11-09 01:16 浅雨歌 阅读(99) 评论(0)  编辑 收藏 引用 所属分类: DP

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理