This commit is contained in:
krahets
2023-07-11 01:02:57 +08:00
parent 59261a2e5a
commit 950539ba61
12 changed files with 566 additions and 165 deletions

View File

@ -2230,8 +2230,8 @@
<h1 id="131">13.1. &nbsp; 初探动态规划<a class="headerlink" href="#131" title="Permanent link">&para;</a></h1>
<p>「动态规划 Dynamic Programming」是一种用于解决复杂问题的优化算法,它把一个问题分解为一系列更小的子问题,并子问题的解存储起来以供后续使用,从而避免重复计算,提升了解题效率。</p>
<p>在本节中,我们从一个动态规划的经典例题入手,先给出它的暴力回溯解法,观察其中包含的重叠子问题,再一步步导出更高效的动态规划解法。</p>
<p>「动态规划 Dynamic Programming」是一种通过将复杂问题分解为更简单的子问题的方式来求解问题的方法。它将一个问题分解为一系列更小的子问题,并通过存储子问题的解避免重复计算,从而大幅提升时间效率。</p>
<p>在本节中,我们从一个经典例题入手,先给出它的暴力回溯解法,观察其中包含的重叠子问题,再步导出更高效的动态规划解法。</p>
<div class="admonition question">
<p class="admonition-title">爬楼梯</p>
<p>给定一个共有 <span class="arithmatex">\(n\)</span> 阶的楼梯,你每步可以上 <span class="arithmatex">\(1\)</span> 阶或者 <span class="arithmatex">\(2\)</span> 阶,请问有多少种方案可以爬到楼顶。</p>