动态规划算法1.ppt

;前言:;在三个竞赛中的首次出现:;目录:;引例1:数字三角形【IOI 1994】;输入样例: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出样例: 30 ;样例:;8;路径数字最大和:7+3+8+7+5=30;深度优先搜索算法:;代码实现:;n=100 超时!;N=10;每个位置被计算过的次数:;代码实现:;搜索速度慢的原因是做了很多重复的计算;所以:;记忆化搜索算法:;每个点的计算次数:n=10;思考记忆化搜索的求解过程:;换一种方法实现:;i,j;顺推:;边界问题的解决:;回顾本题:;引例2:公共汽车;【输入】 第一行是n,m和k,其中k是有乘客的路口的个数。 以下k行是有乘客的路口的坐标和乘客的数量。已知每个路口的乘客数量不超过1000000。n,m=1000. 【输出】 接到的最多的乘客数。 ;a[i,j]: (i,j)位置的人数; f[i,j]:从(1,1)走到(i,j)能接的最多人数。;递推实现:;二、动态规划的基本概念;定义:f[i,j] :从(i,j)走到最后一行的和的最大值; 目标:f[1,1]; 1、 阶段: 把所给求解问题的过程恰当地分成若干个相互联系的阶段,以便于按一定的次序去求解,过程不同,阶段数就可能不同.描述阶段的变量称为阶段变量。在多数情况下,阶段变量是离散的,用k表示。 阶段的划分一般根据时间和空

文档评论(0)

1亿VIP精品文档

相关文档