最短路树/图

P2685 [TJOI2012] 桥

首先求出一个最短路树,显然只能删除树上的边才对答案有影响。

最短路树有很多,任意求一个可以吗?可以,因为删除一条边后就可以走另一个最短路树了。

枚举删除哪一条边并不好计算。考虑最后我们最短路一定是 1lxxyryn 的样子,所以我们考虑枚举不在最短路树上的边 (x,y),找到最短路树上对应的 (lx,rx),更新答案。

最后查询单点最小值即可。

如何预处理 l,r 数组?按照一定的顺序加入最短路中的每个点,每次都 bfs 更新所有点即可,由于每个点只会更新一次,故复杂度均摊线性。


[ABC375G] Road Blocked 2

建出最短路图。

一种方法是对最短路方案计算,考虑一条边是否有 c1x×c2y=c(1,n),由于需要取模估计需要调参。

另外一种方法就是判断最短路图上这条边是否为割边。


奥运公交

建出最短路树,对于所有树上的边暴力重新跑一边 dijkstra。否则可以直接用 dis(1,x)dis(n,y)

复杂度应该是把暴力的 O(m2logm) 变成了 O(nmlogm)

posted @   LCat90  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示