http://blog.csdn.net/libin56842/article/details/9908199 树形背包: 首先是建树,每个结构体为一个节点,包括下一个点序号,值,和next. tree[ptr]会保存所有的节点序列,而head数组则是保存每个节点的最后一个子节点在序列中的位置,next则是保存上一个子节点在序列中的位置,若没有则为-1. 遍历时从i=head[root]出发,到i=-1结束,不断往子节点遍历,同一层之间用next遍历,就可以遍历树的所有节点. 树状dp.由于求的…