做有声小说网站,网站建设常用六大布局,商城平台建设,株洲做网站那家好所谓网络流优化#xff0c;就是对网络流算法进行优化 #xff08;逃#xff09;
-1优化
大概就是如果在一次bfs搜出的图中发现当前这个点啥都增广不出来#xff0c;就暂时把这个点扣掉
当前弧优化
在一次bfs搜出的图中#xff0c;如果某条边已经搜过#xff0c;就不必… 所谓网络流优化就是对网络流算法进行优化 逃
-1优化
大概就是如果在一次bfs搜出的图中发现当前这个点啥都增广不出来就暂时把这个点扣掉
当前弧优化
在一次bfs搜出的图中如果某条边已经搜过就不必再重复搜了 注意 使用当前弧优化时必须写成
int dfs(int x,int lim){if(xn||!lim) return lim;int res0;for(int icur[x];~i;ip[i].nxt){int top[i].to;if(!p[i].cap||col[to]!col[x]1) continue;int adddfs(to,min(lim,p[i].cap));resadd;lim-add;p[i].cap-add;p[i^1].capadd;if(!lim) break;//关键在这里}if(!res) col[x]-1;return res;
}而不能把判断lim非零的条件挪到上面for里面写成~ilim 因为**那样会导致cur多跳一条边而本来的那条边可能还是有余量的导致代码效率大大降低 不信可以试试这道题 完全是0.x秒和20s的区别