[思路分析] 比赛的时候想到了用我确实也想到了树形DP,但是状态没有确定对,连样例都没有过 PS:这是第二道发现还可以用状态作为答案最后输出的题目 正解:树形DP(背包) 按照读进来的数据,我们先建一棵树 像这样(这里用vector存图) for(int i=1;i<=n;++i){ int x=read(),y=read(); a[i]=x; v[y].push_back(i);//从父节点建一条边连向子节点 } 然后就是DP的过程 (本人见到的树形DP题目比较少,但是做到过相关的题目似乎都是…