- 29
- 0
- 约5.94千字
- 约 35页
- 2017-08-23 发布于江苏
- 举报
动态规划经典题目分析 中山纪念中学 陈启峰 一般步骤 确定状态: 状态的参数一般有 1)描述位置的:前(后)i单位,第i到第j单位,坐标为(i,j)等 2)描述数量的:取i个,不超过i个,至少i个等 3)描述对后有影响的:状态压缩的,一些特殊的性质 一般步骤 转移方程: 1)检查参数是否足够; 2)分情况:最后一次操作的方式,取不取,怎么样放,前一项是什么 3)初始条件是什么。 4)注意无后效性。比如说,求A就要求B,求B就要求C,而求C就要求A,这就不符合无后效性了。 一般步骤 编程实现方式 1)递推 2)记忆化搜索(一般在状态的拓朴顺序不很明确时使用) 一般步骤 恰当地使用数据可以使动态规划的时间复杂度降下。 队列——O(n^2*??)?O(n*??) 线段树、堆、二叉查找树——O(n*??)?O(logn*??) Hash表、并查集——O(n*??)?O(??) 此外运用四边行不等式可以使 O(n^3*??)?O(n^2*??) 经典题 最长公共子序列 最长上升子序列 最优二分检索树 最优矩阵链乘 最优三角剖分 任务调度问题 叠 放 箱 子 【问题】 某港口有一批箱子,将其编号,分别为1至N。每一个箱子的尺寸规格是一样的,现在要将其中某些箱子叠放起来,箱子叠放的规则如下: 一、每个箱子上最多只能直接叠放一个箱子; 二、编号较小的箱子不能放在编号较大的箱子之上; 三
原创力文档

文档评论(0)