D - Shortest Path on a Line
题意:
给定 n n n 点,编号从 1 1 1 到 n n n,初始图没有边, m m m 次操作,每次给定 l , r , c l,r,c l,r,c,表示编号在区间 [ l , r ] [l,r] [l,r] 任意两点之间连有一条长度为 c c c 的边,求最终图中 1 1 1 到 n n n 的最短路。
思路:
如果 n 2 n^2 n2 建图,每两个点之间都加一条边的话,肯定会超时。那怎么办呢?我们可以把每个区间端点当做节点,然后 加入( L i , R i , C i L_i, R_i,C_i L
Atcoder D. Shortest Path on a Line (最短路 + 思维,建图难想
于 2021-12-02 16:45:31 首次发布
本文介绍了一种解决Dijkstra最短路径问题的高效算法,通过将区间端点作为节点,巧妙地添加边来构建图,避免了大规模全连通图导致的时间复杂度过高问题。关键步骤包括使用优先队列实现Dijkstra算法,以及如何在区间内快速添加边并保持1到n的最短路径不变。

最低0.47元/天 解锁文章
565

被折叠的 条评论
为什么被折叠?



