设计基础12_2_动态规划(2015春)资料.ppt

第12章 贪心法与动态规划;12.1.3贪心法解题的一般步骤;贪心法解题的一般步骤;12.1 贪 心 法 12.2 动 态 规 划;引例 递归的重叠子问题;引例 递归的重叠子问题;实例一、数字三角形问题 ;;递归方法求解的基本思路:;递归函数;解决办法;int main() { int i,j; scanf(%d,N); for(i=1;i=N;i++) for(j=1;j=i;j++) scanf(%d,D[i][j]); for(j=1;j=N;j++) // 修改教材p292 jN 改成 j=N a[N][j]=D[N][j]; for(i=N;i1;i--) for(j=1;j=i;j++) if(a[i][j]a[i][j+1]) a[i-1][j]=a[i][j]+D[i-1][j]; else a[i-1][j]=a[i][j+1]+D[i-1][j]; printf(%d\n,a[1][1]); return 0; };动态规划;动态规划的基本思想 ;动态规划算法的基本步骤 ;这道题已经用动态规划成功地解决,但是,如果对问题的最优结构刻画得不恰当(即状态表示不合适),则无法使用动态规划。 比如: 用一元组D(X)描述问题,D(X)表示从顶层到达第X层的最大路径得分。因此,此问题就

文档评论(0)

1亿VIP精品文档

相关文档