题意 一个1-base二叉树,n个结点,中序遍历为(1,2,3,...,n),每个点有一个val,选择一个子树的加分规则如下: 如果某个子树为空,就视为val=1,叶子节点分数为本身的分数 求符合中序遍历的加分最高的二叉树,输出加分和前序遍历 思路 对于一段中序遍历序号,总需要选择一个根,切分出左右子树计算价值 对于切分出的区间不断重复上述过程,得出整个树的最优解 那么大概就是一个区间dp,表示区间(i,j)最高分, 注意k如果是左右边界的时候需要强制置为1 对于还原根这个事,其实就是要在dp过程中保留每次取最优解的时候选择的根,所以再开一个path数组即可 最终还原前序遍历的时候dfs...