【最短路】CF715B Complete The Graph

【题目描述】

CF715B Complete The Graph

【题意】

  • 一张无向图,其中一些边的边权你可以自己设置,但要最终使s到t的最短路为L,求任意一种方案

【分析】

  • f[i][j]表示从s到点i经过j条无边权边的最短路
  • 对于某不可修改边x,yf[x][j]>f[y][j](x,y) f[x][j]->f[y][j](x,y)f[x][j]−>f[y][j]
  • 对于某可修改边x,yf[x][j]>f[y][j+1](x,y) f[x][j]->f[y][j+1](x,y)f[x][j]−>f[y][j+1]
  • 选择一个最小的j使f[t][j]+j&lt;=Lf[t][j]+j&lt;=Lf[t][j]+j<=L,将该路径上j-1条边权设为1,一条边是的f[t][j]=L,其他所有可变边设为INF即可
  • 若此时满足条件,则输出,否则无解
上一篇:Markdown基础及其高级进阶用法


下一篇:complete完成量——实例分析