日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络流优化:-1优化与当前弧优化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

所謂網(wǎng)絡(luò)流優(yōu)化,就是對(duì)網(wǎng)絡(luò)流算法進(jìn)行優(yōu)化

(逃)

-1優(yōu)化

大概就是如果在一次bfs搜出的圖中發(fā)現(xiàn)當(dāng)前這個(gè)點(diǎn)啥都增廣不出來(lái),就暫時(shí)把這個(gè)點(diǎn)扣掉

當(dāng)前弧優(yōu)化

在一次bfs搜出的圖中,如果某條邊已經(jīng)搜過(guò),就不必再重復(fù)搜了
注意!
使用當(dāng)前弧優(yōu)化時(shí),必須寫(xiě)成:

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;//關(guān)鍵在這里!!}if(!res) col[x]=-1;return res; }

而不能把判斷l(xiāng)im非零的條件挪到上面for里面寫(xiě)成~i&&lim
因?yàn)?*那樣會(huì)導(dǎo)致cur多跳一條邊,而本來(lái)的那條邊可能還是有余量的,導(dǎo)致代碼效率大大降低
不信可以試試這道題
完全是0.x秒和20s+的區(qū)別

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。