最短路的那些有趣的模型(不定期更新)

除起点与终点外,必须在规定的点上走。

  • 将floyd的最外层设为规定的点而不是所有点。

最短路必须经过一些点,多组询问。

  • 先求出所有点到这些点的最短路(反图dijkstraFloyd),然后枚举min(dis[i][k] + dis[k][j])。

多源最短路。

  • 将源全部扔进优先队列(dijkstra)/队列(spfa)。

最短路 + 决策(分层图最短路)

  • dis数组另开一维记录_做不做决策/做多少决策_,暴力转移。

  • 或选用toposort + dp


posted @ 2018-08-31 10:41  俺是小程  阅读(624)  评论(0编辑  收藏  举报