题目链接:https://vjudge.net/problem/POJ-2152 题意:给定一颗大小为n的树,在每个结点建消防站花费为w[i],如果某结点没有消防站,只要在它距离<=d[i]的结点有消防站即可,求最小花费. 思路: 好难的树形dp,一点思绪也木有,只能搜题解. 用dp[u][i]表示以u为根的子树满足条件,并且结点u依赖于结点i的最小花费.用best[u]表示以u根的子树满足条件的最小花费,那么best[u]=min(dp[u][i]). 求best[u]时,先跑一遍dfs得到所…