【校内训练2019-07-09】探险队

【思路要点】

  • 考虑计算 f i f_i fi 表示到达点 i i i 后发现 i i i 的一条邻边断开,最坏情况下到达 T T T 的的最短路。
  • 注意到图是无向图,可以从 T T T 出发建立一棵最短路树,则最坏情况显然是断开 i i i 的父边的情况。
  • 枚举一条非树边 ( x , y , w ) (x,y,w) (x,y,w) ,则对于 x , y x,y x,y 路径上的一个非 L c a ( x , y ) Lca(x,y) Lca(x,y) 的点 i i i ,存在一条不经过其父边的,长度为 d e p t h x + d e p t h y + w − d e p t h i depth_x+depth_y+w-depth_i depthx+depthy+wdepthi 的到达 T T T 的路径。
  • 用堆 + + + 启发式合并或可并堆维护 d e p t h x + d e p t h y + w depth_x+depth_y+w depthx+depthy+w ,优化 f i f_i fi 的计算即可。
  • g i g_i gi 表示在当前人在 i i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值