poj 2253 Frogger和 poj 2485 Highways

来源:互联网 发布:js初学者 买哪本书 编辑:程序博客网 时间:2024/06/03 17:31

这两题有着相似的地方。都只求所有路径中的最长边的最小值。

不同之处在于Frogger求的是固定起点和终点,而Highways是所有路径。

所以Highways可以用最小生成树来求。而Frogger中起点和终点可以当成一组特值,所以可以考虑先求任意两点间的最小最长边,可以由此想到Warshell-Floyd算法,但是需要修改。当路径经过k时,分别考虑[i, k] 和 [k, j] 的最小最长边,故d[i][j] = min(d[i][j], max(d[i][k], d[k][j])。这样就考虑了所有路径的情况。

Highways我被样例骗了,以为两点之间的是一条双向边,然而,是两条单向边。

0 0
原创粉丝点击