关于最短路树的一点整理(当前理解)

  • 以一个结点为root(起点),到其余每一个结点的最短路径形成的树,就好比跑一遍Dijkstra,实际上就形成了一棵树,原图中除了这颗树以外的边全部舍弃。
  • 如何构建:松弛的时候把v的u与那条边标记出来即可。
    关于最短路树的一点整理(当前理解)
  • 一开始我甚至在纠结最短路树是不是唯一的,其实这个问题没必要纠结,答案显然也是肯定的;考虑我们拿到这颗树要干些什么(做一些枚举?),为什么要舍弃最短路树外的那些点:1.最短路树外的路径的存在与否对root到达每个点的最短路长度没有影响。2.最短路树上的路径的存在与否并不意味着一定会对d[i]产生影响,删除一条同root不同最短路树上的不交叠路径一定不会对d[i]产生影响。