题目大意:从1号点出发,到每个点的最短路的最后一条边不能被访问,求此时1号点到其他点的最短路

建立最短路树,对于一条非树边,把它加进去会形成一个环和一条链,如图:

即红色和蓝色路径构成的图,它的长度为$len=dis[x]+dis[y]+w[x][y]$,对于这个环上的任意一点$i$,我们都可以用$len-dis[i]$来更新答案。

如果我们把$len$按从小到大排序,显然每对$(x,y)$只会更新环内没被更新的点,这时我们可以用并查集加速维护

因为每个点只会被更新一次,所以更新完后这个点就没有再被访问的必要,直接把这个点的父亲指向这个环的$LCA$即可(因为环内的点已经全部被更新完了)

最新文章

  1. C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构
  2. ATC空管系统的实时控制软件系统分析
  3. 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?
  4. Android Studio构建系统基础
  5. MJExtension的使用:https://github.com/CoderMJLee/MJExtension
  6. Swift中的单例的实现方式
  7. Objective-C中的Hello World
  8. 【南京邮电】maze 迷宫解法
  9. Bugku 杂项 眼见非实
  10. select2的设置选中
  11. C# -- Lambda 表达式的使用
  12. 【逆向工具】IDA使用3-全局变量、数组、结构体
  13. angularjs的ng-class
  14. linux fedora 的备份小技巧
  15. springcloud超时时间与重试次数配置
  16. 前端基础(jQuery)
  17. Mac OS X系统下的Android环境变量配置
  18. solrcloud使用问题记录
  19. NPM, BOWER, GIT, AND BASH PROXY CONFIGURATIONS
  20. 移动端H5多终端适配解决方案

热门文章

  1. jstree的checkbox实例+详解
  2. 巨蟒python全栈开发-第11阶段 devops-git&&openpyxl2
  3. APACHE优化参数
  4. Linux压缩解压缩(unzip,tar)
  5. 【Python数据挖掘】决策树、随机森林、Bootsing、
  6. 【react redux && flux】
  7. D. Two Paths---cf14D(树的直径)
  8. Python的subprocess模块(一)
  9. vs2010帮助文件安装完全攻略
  10. PAT 1051 Pop Sequence[栈][难]