随笔分类 - 算法竞赛入门经典第九章
生活所迫,提前掌握dp,加油
摘要:yes,dp差不多只剩下最后一章的扫尾工作了,加油! 本节将介绍一些常见结构中的动态规划,序列,表达式,凸多边形和树。尽管他们的形式和解法千差万别,但都用到了动态规划的思想:从复杂的题目背景中抽象出状态表示,然后设计他们之间的转移。 9.4.1 线性结构上的动态规划 最长上升子序列问题(LIS) 设
阅读全文
摘要:还记得“多阶段决策问题”吗,在回溯法中曾提到该问题。简单地说,每做一次决策就可以得到解的一部分,当所有决策做完之后,完整的解就浮出水面了(ps:解答树!)。在回溯法中,每次决策对应于给一个结点产生新的子树,而解的生成过程对应一棵解答树,节点的层数就是下一个待填充的位置cur 9.3.1 多段图的最短
阅读全文
摘要:在有向无环图上的动态规划是学习动态规划的基础,很多问题都可以转化为DAG上的最长路,最短路或路径计数问题 9.2.1 DAG模型 嵌套矩形问题: 矩形之间的可嵌套关系是一种典型的二元关系,二元关系可以用图来建模。如果矩形X可以嵌套在矩形Y里面,就从X到Y有一条有向边。这个有向图是无环的,因为一个矩形
阅读全文
摘要:动态规划的理论性和实践性都比较强,重点理解状态,状态转移,最优子结构,重叠子问题等概念,另一方面又需要根据题目的条件灵活设计算法 对动态规划的掌握程度在很大程度上能直接影响一个选手的分析和建模能力 动态规划是一种用途很广的问题求解方法,它本身并不是一个特定的算法,而是一种思想,一种手段 9.1.1
阅读全文