会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
思路
简单树上dp
解题方法为dfs递归求解,定义 dp[x] 表示从 x 点出发能获得的最多的食物,在该定义下, dp[x] 的初始值为 a[x] ,a[x] 为在该点能够获得的食物(从 x 出发,意味着已经在该点上,因此该点获得食物为初始值)。
由于参与者能够在任意方格上宣布结束,这就意味着子树可走可不走。
那么对于任意一个节点 x ,dp[x]=max(dp[y]+a[x],dp[x]),其中 y 为 x 的子节点。