|
2 | 2 |
|
3 | 3 | 我们在应用动态规划之前要分析能否把大问题分解成小问题,分解后的每个小问题也存在最优解。如果把小问题的最优解组合起来能够得到整个问题的最优解,那么我们可以应用动态规划解决这个问题。
|
4 | 4 |
|
5 | | -贪婪算法和动态规划不一样。当我们应用贪婪算法解决问题的时候,每一步都可以做出一个贪婪的选择。基于这个选择,我们确定能够得到最优解。 |
| 5 | +贪婪算法和动态规划不一样。当应用贪婪算法解决问题的时候,每一步都可以做出一个贪婪的选择。基于这个选择,我们确定能够得到最优解。 |
6 | 6 |
|
7 | 7 | ## 剪绳子问题
|
8 | | -> 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n > 1 并且 m > 1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 |
| 8 | +> 有一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n > 1 并且 m > 1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?如,当绳子的长度是 8 时,把它剪成 2、3、3 三段,此时得到的最大乘积是18。 |
9 | 9 |
|
10 | 10 | ### 动态规划分析:
|
11 | 11 | - 我们如何把长度为 n 的绳子剪成若干段,使得得到的各段长度的乘积最大。这个问题的目标是求剪出的各段绳子长度的乘积最大值:求一个问题的最优解 => 应用动态规划求解问题的第一个特点
|
|
0 commit comments