二叉树??树状dp??NONONO!!! 本题的树不固定,他要求去找出来一个最优的树,所以不适合使用树状dp去进行求解。但又因为题中所给的有中序遍历的序列,中序遍历序列最大的特点在于定根可将区间分成左右子树。 那么分成两部分之后就可以分别去计算这两部分,也就是在这两小部分里面取找根。 那么可以得到dp[i][j]为i,j这个区间组成的树的最高加分。 得到状态转移方程为:dp[i][j] = max(dp[i][k], dp[k+1][j])。 对于前序遍历:在每一个区间树遍历最高加分的时候去记录最优的那个根。然后重新dfs遍历得到就行。 //题目中所给的是一个中序遍历的序列,那么只要定...