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

浙公网安备 33010602011771号