acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • T3-7 Greg and Graph

    思路分析 题目要求依次删点,每次删之前求所有点对最短路之和。 关键技巧:倒序处理,把"删点"变成"加点"。 删点的逆序就是加点。倒着看删除序列 xn,xn−1,…,x1x_n, x_{n-1}, \ldots, x_1xn ,xn−1 ,…,x1 ,相当于依次加入点。每次加入一个新点 kkk 时,用 Floyd 的思想:用 kkk 作为中转点,更新所有已存在的点对之间的最短路。 d[i][j]=min(d[i][j],d[i][k]+d[k][j])d[i][j] = min(d[i][j], d[i][k] + d[k][j]) d[i][j]=min(d[i][j],d[i][k]+d[k][j]) 这恰好就是 Floyd 的第 kkk 层循环——Floyd 本质上就是"逐个加入中转点"。 代码 核心思想图示 Floyd 算法 for k: for i: for j: d[i][j] = min(d[i][j], d[i][k]+d[k][j]) 的本质就是逐个加入中转点。把删点倒过来变成加点,每次加点就是 Floyd 的一层,天然匹配。

    userId_undefined
    知予
    倔强青铜
    1阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页