Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
liqiankun1111 committed Jul 15, 2023
1 parent 832e283 commit a5a06a7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion _posts/Technology/Algorithm/2017-10-11-backtracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ function dfs(root *TreeNode) xx {


⽆后效性决定了是否可使⽤动态规划来解决。李煜东著《算法竞赛进阶指南》,摘录如下::为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍历就是该有向无环图的一个拓扑序。有向无环图中的节点对应问题中的「状态」,图中的边则对应状态之间的「转移」,转移的选取就是动态规划中的「决策」。
1. 换句话说:如果之前的阶段求解的子问题的结果包含了一些不确定的信息,导致了后面的阶段求解的子问题无法得到,或者很难得到,这叫「有后效性」
1. 换句话说:如果之前的阶段求解的子问题的结果包含了一些不确定的信息,导致了后面的阶段求解的子问题无法得到,或者很难得到,这叫「有后效性」。PS:子问题之间无法建立联系,求f(n) 时f(n-1) 用不上。
2. 解决「有后效性」的办法是固定住需要分类讨论的地方,记录下更多的结果。在代码层面上表现为:
1. 状态数组增加维度,例如:「力扣」的股票系列问题;
2. 把状态定义得更细致、准确,例如:前天推送的第 124 题:状态定义只解决路径来自左右子树的其中一个子树。
Expand Down

0 comments on commit a5a06a7

Please sign in to comment.