提供一种不一样的解法(
也就想、调了5h吧,嗯不算长
考虑次SPFA
。
第一次,我们使用SPFA
建立 数组,表示导航1认为的到的最短路径 。
第二次,我们再一次使用SPFA
建立 数组,表示导航2认为的到的最短路径。
注意区分和不要写错了
重点来了!
我们可以再建一个图,其中表示从结点走到结点,抱怨数之和,当然结点和结点有直接的边相连。
那么咋算有直接边的两点之间的抱怨数和呢?
我们想到,如果从结点出发,到结点,第一个GPS会抱怨,当前仅当(注意是)。
其中u为第一个GPS认为的从结点出发,到结点的时间。
第二个GPS会抱怨的情况也同理。
我们可以把经过每条边的抱怨值都算出来(第一个GPS是否抱怨+第二个GPS是否抱怨),构成一个图,再跑一遍SPFA
,就可以算出抱怨值最小是多少了。