看题目感觉应该就是传说中的虚树? 然后跑去学了一发。。。自己YY了一下然后挂飞。。于是就只好抄模板了T_T 建完虚树就是个树形dp。。。 对于询问总和:每条边对答案的贡献是边权*一端的节点数*另一端的节点数。(这里的节点不包括建虚树时添上去的点) 对于询问最小值最大值,每次计算出经过这个节点的最长|
分类:
其他好文 时间:
2016-02-12 20:54:29
阅读次数:
359
题解:会了消耗战之后,这题的难点就只在统计ans了。我原来求最长(短)链只会保留次优值,然后开三个数组写得特别麻烦。。。今天学习了,orz POPOQQQ inline void dfs(int x) { f[x]=v[x];g[x]=0; mi[x]=v[...
分类:
其他好文 时间:
2015-01-18 00:48:17
阅读次数:
294
题目大意:给定一棵树,m次询问,每次给出k个关键点,询问这k个点之间的两两距离和、最小距离和最大距离
n
处理方法同2286 消耗战 地址见 http://blog.csdn.net/popoqqq/article/details/42493725
这个题的DP有些麻烦 因此我把要处理的节点单独拎出来做的DP 具体状态和转移见代码
#include
#includ...
分类:
其他好文 时间:
2015-01-07 18:50:04
阅读次数:
204