问题:
给定一个有N个节点和N-1条边的无向图。所有边的长度都为1。每条边i有一个权重Wi。(0 ≤ Wi ≤ 10.000)
保证该图没有任何环。因此,两个节点之间始终存在一条(仅有的)最短路径。
从图中选择一对节点(u, v):
- l是2个节点之间最短路径的长度
- w是2个节点之间最短路径上具有最大权重的边
给定数字K,请计算图中有多少对(u, v)满足w - l ≥ K。
示例:
N = 3, K = 1
Edges:
1 - 2 - 3
1 - 3 - 2
(边被描述为:u-v-w)
答案:6。所有可能的对为:(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)
暴力解决方案(N <100):
遍历所有(u,v)的对,找到沿着w和l的最短路径。如果w-l>=K,则增加答案。
时间复杂度:O(N^3)
P / S: 我尝试并成功使用暴力解决方案(N <100)。但我正在努力寻找适用于高达100,000的解决方案。