ACM动态规划问题(算法竞赛入门经典)

刘汝佳的算法白皮书上DP三角形求最大和那道题,书上有3中方法,第一种是递归计算,第二种递推计算,第三种是记忆化搜索,请问这三种方法都是DP思想的体现吗?
到底什么是DP,每个DP问题都有状态转移方程吗?d(i,j) = a(i,j) + max{ d(i+1,j), d(i+1,j+1) }

递归就不说了,明显是需要栈的逻辑结构维护的。简单说说对递推和DP的个人见解,只供参考。

DP=状态+状态转移方程
状态的关键特点是无后效性,简单地举例:奥运会某项目淘汰赛1/N决赛,成绩只跟以后的比赛有关,之前的成绩不带入(只考虑赛制)。如果你发现一个状态后面阶段决策需要用到前面阶段的状态信息,那么这就不是一个标准的DP。比如:
A - B1 - C1 - D
\-- EX ------/
如果将EX归为B段或C段,那么EX-D或者A-EX就跨越了跳跃了一个阶段,对于这个阶段来说他后面的阶段就用到了前面阶段的状态信息
当然这并不意味着不能采用DP算法,对于上面的例子,可以将EX本身拆为B2 - C2就可以满足DP条件了,对于连续状态的DP,类似的调整更多。

状态转移方程是状态到状态的决策
简单地说,就是贪心的那一部分,多条路你选择一条路的过程

很多时候,递推和DP难以区分,一般情况,状态转移决策明显是“选择”的时候,会当做DP,而如果计算比重较大,会当做递推;状态调整比较多时,可能认为是递推;连续状态可以归为DP。
例:M*N的的带权格子,从左上走到右下,每次只能向右或下移动一格,求权值加和最大(小)的路径条数。

还有一个相关词叫做“递推规划”,有兴趣的话可以自己看下相关资料

解释之后答案很明显:DP要有状态转移方程。甚至可以说DP的关键就是状态转移方程。
你的第一个问题,希望你把书名报一下,我貌似没有白皮的
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-03
DP(dynamic programming),中文就叫动态规划。

应该每个DP问题都有状态转移方程。但方程是多样的,需要自己建模。

例如,在百度百科“动态规划”中,就有一个同样的DP三角形的例子,其中求最小和的状态转移方程就是:f(i, j)=a[i, j] + min{f(i-1, j),f(i-1, j - 1)}。
第2个回答  2012-08-04
到底什么是DP 当你发现一个大问题能够分解成若干个同类型小问题就DP

算法竞赛入门经典内容简介
此书共分为11章,覆盖了从程序设计入门到图论模型与算法的广泛内容,涵盖了算法竞赛入门阶段所需的主要知识点。每章都精心设计,从基础的循环结构、数组与字符串处理,到更复杂的函数与递归、数据结构基础,再到高效算法设计、动态规划与数学概念的引入,全方位地满足了初学者的需求。书中的代码示例不仅规...

算法竞赛入门经典(算法艺术与信息学竞赛)目录
竞赛篇则是提升实战能力的关键,第9章介绍动态规划,涉及数字三角形、DAG上的动态规划和背包问题。第10章聚焦数学概念和方法,如数论、排列组合和递推关系。最后,第11章深入图论模型和算法,讲解最短路问题、网络流和参赛指南。附录A提供开发环境和方法的介绍,包括操作系统脚本编程、编译器调试和IDE使用等...

算法艺术与信息学竞赛·算法竞赛入门经典内容简介
如果你想深入了解算法竞赛并提升编程技能,那么《算法竞赛入门经典》是一本不可或缺的教材。这本书将C\/C++语言、算法和解题技巧巧妙融合,强调实践与方法,而非深入的理论讲解。共分为11个章节,包括程序设计基础、循环结构、数组与字符串、函数与递归等,内容全面,涵盖了竞赛入门所需的关键知识点,如基...

acm竞赛大白书和小黑书分别是什么?
小白书 刘汝佳的《算法竞赛入门经典》(只要是知识点);大白书 刘汝佳的《算法竞赛入门经典——训练指南》(小白书的扩充,题目较多);小黑书 刘汝佳和黄亮的《算法艺术与信息学竞赛》;大白书好像出第二版了 封面变成紫色的图案了,第一版是蓝色图案。

算法竞赛入门经典的介绍
《算法竞赛入门经典》是一本算法竞赛的入门教材,把C\/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法...

高中信息学奥林匹克竞赛考什么?
信息学竞赛主要考察的是编程能力和算法知识,首先你需要掌握一门语言,我个人比较推荐C++,建议的书目是吴文虎的《程序设计基础》(或者谭浩强的《C++程序设计》)然后是算法。竞赛中主要考的算法无非是模拟、贪心、动态规划(DP)、搜索、图论的一些知识,推荐书目是刘汝佳的《算法竞赛入门经典》或者有一套专门...

算法竞赛入门经典习题解答有必要买吗
有。《算法竞赛入门经典——习题与解答》是在《算法竞赛入门经典》的基础上,延伸出来的一本习题与解答图书,对算法有很大帮助。算法竞赛,指的是以算法(和数据结构)为核心主题的编程竞赛。

ACM 关于ACM程序设计竞赛,需要掌握哪些知识点,最好能详细一点,谢谢高手...
0\/1分数规划 度限制生成树 连通性问题 强大的DFS算法 无向图连通性 割点 割边 二连通分支 有向图连通性 强连通分支 2-SAT 最小点基 有向无环图 拓扑排序 有向无环图与动态规划的关系 二分图匹配问题 一般图问题与二分图问题的转换思路 最大匹配 有向图的最小路径覆盖 0 \/ 1矩阵的最小...

想参加ACM竞赛,可不可以推荐几本好书给我?
刘汝佳的《算法竞赛入门经典》很适合新手

准备acm程序设计大赛需要哪些知识,最高有书名
刘汝佳的算法竞赛入门经典,先看最薄的,然后看白书,最后看黑书,都叫这个名字,知识的话太多了,动态规划,图论,数论,计算几何等,可以看kuangbin的博客

相似回答