最短路题解(不是dij模板)

一个又想走快又贪的奸商。
使用 bfs 跑出最短路并且记录下路径并不难,学过算法的都会。。。
但是中间商赚差价,他想在路径最短的几条路上找出可以赚最大差价的一条。

解决方案

我们可以先跑一遍 bfs 得到最短的路径,这样第一个问题的答案我们就得到了(可以获得 20pts

现在我们可以将价值视为边权,使用动态转移 dp 设计。
f,g 表示从 点 1 到这个点的最大边权和最小边权,然后每转移一次就用 g_x - zz - f_x 来分别更新答案。

输出的话就可以分别记录 fg 的转移过程就可以了。