树的问题 要么就是递归 要么就是左右子树分治最优问题 想到最优子结构 动态规划如何使用动态规划做出这道题首先找最优子结构只有数值小于等于两个节点时 不用考虑 直接为a*b考虑简单的情况 1,2,3可能有三种情况 要依次遍历1为根 1*2 + 1*32为根 1*2 + 2*33为根 1*3 + 3*2选择根节点,分别计算出每个根节点的最优值 然后选出最优的 所以对于有很多值的把每个点都作为根节点 然后左右子树分治 分别求出最优解 定义 转移状态首先 有一个范围 l,r然后dp[l,r]表示 遍历i属于[l,r] 以i为根节点的所代表的最小值min(dp(l,i-1) + im + in + ...