算法第三章作业

状态表示:

dp[i][j] 表示将i到j合并成一堆的方案的集合

状态方程:

dp[i][j] = min(dp[i][k]+dp[k+1][j]+s[j]−s[i−1])   (i≤k≤j−1)

dp[i][i]=0  (i=j)

 

边界条件:

dp[i][j]=0(i==j)单独一堆石子时,不需要合并

 

时间、空间复杂度分析:

时间复杂度:O(n^2)

空间复杂度:O(n^3)

 

动态规划是求解决策过程最优化的过程。在做动态规划相关的题目时,首先要明确状态表示、状态方程和边界条件,难点在于写出状态转移方程。动态规划的核心就是划分子问题,然后通过备忘录减少重复计算

posted @ 2022-11-14 23:32  彭羚欣  阅读(31)  评论(0)    收藏  举报