【HDU】 3416 Marriage Match IV(最大流+SPFA)

来源:互联网 发布:js当窗口大小变化 编辑:程序博客网 时间:2024/05/17 00:19

题目大意:让你找出有多少条没有交集的最短路。

思路:先用spfa找出可行的边,然后给每条可行的边加上容量1.即表示这条边只能走一次。

接下来跑一遍ISAP就可以得出答案。

关于判断边可行的方法如下。

先从头跑一遍spfa,得到起点到其他所有点的最短路径dis1

再从尾跑一遍spfa,得到终点到其他所有点的最短路径dis2

对于边u-v w

假如dis1[u]+dis2[v]+w==dis1[终点]这可以得出结论,u-v这条边在一条最短路上。然后给这条边加上容量一。

最后跑ISAP即可。

学习了~~

0 0
原创粉丝点击