摘要:
题意:一颗有n个节点的树,每个节点有val值和c(1-有陷阱,0-无陷阱)值,给出最大可踩陷阱数k。在树中任取一点作为起点,经过某点就取得该点的val值,踩到第k个陷阱后马上停止,而且不能走已走过的点。求最大累计val值。暴力方法:每点进行一次深搜求最大值。(这样竟然可以过= =,703ms)树形DP:子问题:最大值转化为求一个节点某子树的最大值和树的其他部分的最大值和。状态:dp[u][j]表示从以u为根,从u子树中某点走到u经过j个陷阱时的最大val值。难点:与“不超过 k 个求最大的长度”不同的是,该题是达到k个就马上停止所以增加一维表示方向,即dp[u][j][0]表示从非陷阱点走到u 阅读全文