判断最小割是否唯一,先求一次最大流,然后在残留网络中分别从源汇开始dfs一次,找出最小割[S,T],如果SUT不包含所有点,那么最小割不唯一
假设点i不被SUT包含,那么残留网络中s不能到达i,i不能到达t,即进入i的边和从i出去的边都满流,假设某条进入i的边x满流,这些流量从若干条边y流出i,那么,如果选x为割边,或者选所有对应的y为割边,不会影响最大流,即最小割容量不变,最小割也就不唯一
如果最小割不唯一,假设有两个最小割[S,T],[S2,T2],则存在点i,所有进入i的边和从i出去的边都满流,否则最小割唯一,dfs得到的S包含于S2,i属于S2-S,又由于i不属于T,且i不属于T2,SUT就不包含i,也就不包含所有点
代码: