题意:给定一棵 N (1 <= N <= 10000) 个结点的带权树,定义 dist(u, v) 为u, v 两点间的最短路径长度,路径的长度定义为路径上所有边的
权和。再给定一个 K (1 <= K <= 10^9 ) ,如果对于不同的两个结点 a, b ,如果满足 dist (a, b) <=K ,则称 (a, b) 为合法点对。求合法点的
个数。
思路:点分治。详见漆子超的《分治算法在树的路径问题中的应用》,详见代码:
// file name: poj1741.cpp //
// author: kereo //
// create time: 2014年10月18日 星期六 16时59分24秒 //
//***********************************//
#......
阅读全文