Links there:ZOJ3626
题意
给一棵树每条边上有花费值$cost_i$,每个点上有权值$w_i$,求以$k$为起点,花费小于$m$,并最终回到起点$k$,能得到的最大权值
思路
树上的背包dp
令$f[i][j]$表示从$i$为起点,花费$j$所可以得到的最大权值.有两种决策对于$i$的孩子$v$,要么不走,要么花费$cost_{i \space to \space v}$
所以有$f[i][j]=max(f[i][j],f[v][k]+f[i][j-cost-k])$
Code
1 | //my vegetable has exploded. :( |