日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

网络流优化:-1优化与当前弧优化

發布時間:2023/12/3 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络流优化:-1优化与当前弧优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂網絡流優化,就是對網絡流算法進行優化

(逃)

-1優化

大概就是如果在一次bfs搜出的圖中發現當前這個點啥都增廣不出來,就暫時把這個點扣掉

當前弧優化

在一次bfs搜出的圖中,如果某條邊已經搜過,就不必再重復搜了
注意!
使用當前弧優化時,必須寫成:

int dfs(int x,int lim){if(x==n||!lim) return lim;int res=0;for(int &i=cur[x];~i;i=p[i].nxt){int to=p[i].to;if(!p[i].cap||col[to]!=col[x]+1) continue;int add=dfs(to,min(lim,p[i].cap));res+=add;lim-=add;p[i].cap-=add;p[i^1].cap+=add;if(!lim) break;//關鍵在這里!!}if(!res) col[x]=-1;return res; }

而不能把判斷lim非零的條件挪到上面for里面寫成~i&&lim
因為**那樣會導致cur多跳一條邊,而本來的那條邊可能還是有余量的,導致代碼效率大大降低
不信可以試試這道題
完全是0.x秒和20s+的區別

總結

以上是生活随笔為你收集整理的网络流优化:-1优化与当前弧优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。