图论复习——最短路

知识点

最短路径算法

最短路径树

每个点 u u u的父亲为使 u u u得到最短距离的前驱节点,若有多个,则取任意一个。

题目

CF449B Jzzhu and Cities

在这里插入图片描述
Blog

CF464E The Classic Problem

在这里插入图片描述
Blog

[XSY3888] 传送门

在这里插入图片描述
对每个点 u u u,记 d ( u ) d(u) d(u)表示 u u u T T T的最短路, e ( u ) e(u) e(u)表示删掉它和最短路上父亲的边后的最短路。令 d p ( u ) dp(u) dp(u)表示 S = u S=u S=u时的答案。每次找到 d p dp dp值最小的点来更新其它的点的 d p dp dp值即可。用 u u u更新 v v v时的转移为
d p ( v ) = m i n { m a x ( d p ( u ) + w ( u , v ) , u = = p a r e n t v ? e ( v ) : d ( v ) ) } dp(v)=min\{max(dp(u) + w(u, v), u==parent_v?e(v) : d(v))\} dp(v)=min{max(dp(u)+w(u,v),u==parentv?e(v):d(v))}

e ( u ) e(u) e(u)的求法见[USACO09JAN]Safe Travel G
在这里插入图片描述
摘自此Blog
Code

传送门 Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值