动规
动态规划程序设计是对最优解问题的一种途径、一种方法,一种思想,而不是一种特殊算法——《信息学竞赛一本通》
从竞赛方面讲:动态规划(DP:Dynamic Programming)是算法设计方法之一,在程序设计竞赛中经常被选作题材,由于其对于思维的拓宽有极大的帮助,DP就应用到了广大的竞赛题目中
分类
动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。
例:
线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;
区域动规:石子合并, 加分二叉树,统计单词个数,炮兵布阵等,喷水装置等;
树形动规:贪吃的九头龙,二分查找树,聚会的欢乐,数字三角形等;
背包问题:01背包问题,完全背包,混合背包、分组背包,二维背包,装箱问题等;
多阶段决策过程的最优化问题
一些活动由于硬性的规定或约定俗成而前后之间有相互的联系,比如有五个任务编号 [1-5],完成任务一才能经行任务二、三,完成二、三,才能进行任务四,完成任务四,才能最后进行任务五。可以理解成一条生产流水线,若前面的物体没有加工完毕则后面的物体只能等待之前的物体加工完毕后再加工。