权重下的所有对最短路径

问题描述

让 G 为一个给定的无向简单图,边权重为 w。是否存在时间复杂度为 O((n+m)log^*(n+m)) 的算法,该算法计算节点对 (u,v) 的数量,其中存在从 u 到 v 的路径,总权重为一些给定的常数 W?寻找算法或证明不存在此类算法。

我已经尝试过 union find + DFS 但它似乎不会只使用最多 n+m 次调用 Find/Union...我也尝试过通过解决 APSP 来反驳算法的存在时间复杂度低于下限,但无济于事。

解决方法

成功显示不存在这样的算法:

自相矛盾地假设存在这样的算法。

设 G 是一个给定的无向未加权图,我们将计算图的直径如下:

  1. 为图中的每条边分配权重 1。因此,加权直径等于未加权直径。
  2. 我们发现图的直径以 m 为界
  3. 使用算法执行二分搜索以找到图形的直径(检查每个值是否计数返回零)。

总的来说,我们在 O((n+m)log(n)log*(n+m)) 中找到 G 的直径。当前用于查找图直径的最佳算法是 O(min(nm,~n^2.4))。因此,至少,如果该算法成功,那么计算直径的时间复杂度将显着降低。不完全是证明,但足以达到我需要的目的。