zoukankan      html  css  js  c++  java
  • 初学dp心得

    从STL到贪心,再到现在的动态规划,可以说动态规划真的让我学的有点蒙,对于一些题目,会做,但是不会用DP,现在还不能熟练的写出状态转移方程,更重要的是,自己宛如一个哺乳期的小孩,做题需要套模板,没有模板做不出题来,我不知道学习算法开始时背模板好不好,用模板确实可以更快的解题,更快的拿出思路。可取而代之的是离不开模板,这对于初学者来说,是还是坏,也不太清楚。像最大公共子序列问题,这个目前能做的方式也只有这一种,最大上升子序列也就这有着一种方法,而对于遇到的题目,就是分析,划归,划归到模板再做题。学习DP也带来了很多压力,大佬们好像什么都会!而我一脸蒙蔽,同样是一起学习,他们都很清晰,这离不开他们的努力。
    DP主要就是抓住状态变化,用空间换时间,找出状态与状态之间的关系,即求出状态转移方程,即求解题目的关键。动态规划的常见类型分为如下几种:

    • 矩阵型
    • 序列型
    • 双序列型
    • 划分型
    • 区间型
    • 背包型
    • 状态压缩型
    • 树型
      矩阵型遇到过数字三角形,DP训练A。他们的解法都是每一层都是一个过程。
      序列型,最大上升子序列。
      双序列型,音乐会排队问题。
      状态压缩,最大子矩阵和。
      划分型,区间型,背包型,还没遇到很典型的题。
      写状态转移方程的思路是,划分状态,假设第K-1个状态已经解决,求解第K个状态,并该次求解不能破坏之前已经求解的所有最优解,不要考虑对之后的影响,之后自有办法。而且不能 把动态规划限定为一种算法,他应该是一种求解问题的思想。
  • 相关阅读:
    【杭电】[4857]逃生
    【杭电】[2647]Reward
    【杭电】[1285]确定比赛名次
    【杭电】[1251]统计难题
    OJ系统上线——OJ.BoilTask.com
    【郑轻】[1893]985的数学难题
    【郑轻】[1900]985的“树”难题
    【郑轻】[1898]985的数字难题
    HDU 1850———nim博弈
    HDU 2188------巴什博弈
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12799047.html
Copyright © 2011-2022 走看看