poj 4045 Power Station (树形dp)




本文出自   http://blog.csdn.net/shuangde800



题目链接:点击打开链接

poj没有题目描述,题目的pdf链接


题意

n个城市节点构成的一棵树,节点i到节点j的电量损耗为 I*I*R*(i到j的路径所含边数),现在要在某个结点上修建一个供电站,使得这个结点到所有其它节点的总损耗量最小。


思路

典型的树形dp
可以先用一次dfs求出每一点的子树结点个数num[u],以及每一点到它子树所有结点的总距离f[u][0];
然后再用一次dfs,推出每个结点到除去它子树部分的结点总距离f[u][1]。

f[v][1] = (f[u][0]-f[v][0]-num[v]) + f[u][1] + n - num[v];


代码



你可能感兴趣的:(动态规划)