查阅资料后:
DP一般用于解决多阶段决策问题,即每个阶段都要做一个决策,全部的决策是一个决策序列,求一个最好的决策序列使得这个问题有最优解。将待求解的问题分为若干个相互联系的子问题,只在第一次遇到的时候求解,然后将这个子问题的答案保存下来,下次又遇到的时候直接拿过来用即可。
贪心算法不一定是最优解
如果找到一个合适状态转移方程,题目就会好写很多 。
经典例题:HDOJ 2084数塔问题_m0_55756918的博客-CSDN博客
例题:HDOJ 1257最少拦截系统_m0_55756918的博客-CSDN博客
HDOJ 1176免费馅饼_m0_55756918的博客-CSDN博客
HDOJ1421 搬宿舍_m0_55756918的博客-CSDN博客
HDOJ 1160FatMouse‘s Speed_m0_55756918的博客-CSDN博客
基本思想:
如果各个子问题不是独立的(即:重复的),不同的子间题的个数只是多项式量级(即:有限的)工如果我们能够保存已经解决的子问题的答案(一般用数组),而在需要的时候再找出已求得的答案,这样就可以避免大量的重复计算。