【题目描述】
CF715B Complete The Graph
【题意】
- 一张无向图,其中一些边的边权你可以自己设置,但要最终使s到t的最短路为L,求任意一种方案
【分析】
- f[i][j]表示从s到点i经过j条无边权边的最短路
- 对于某不可修改边 ( x , y ) f [ x ] [ j ] − > f [ y ] [ j ] (x,y) f[x][j]->f[y][j] (x,y)f[x][j]−>f[y][j]
- 对于某可修改边 ( x , y ) f [ 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 < = L f[t][j]+j<=L f[t][j]+j<=L,将该路径上j-1条边权设为1,一条边是的f[t][j]=L,其他所有可变边设为INF即可
- 若此时满足条件,则输出,否则无解