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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

(转)网络流-最大流 SAP算法(模板)

發(fā)布時(shí)間:2024/4/11 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)网络流-最大流 SAP算法(模板) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天做了一個(gè)毒瘤題把dinic卡了,不想因?yàn)閮?yōu)化常數(shù)改變習(xí)慣性的寫法,干脆就直接去找個(gè)效率更高的算法拿來用多好

注意這套板子的n要在全局變量中用,并且n是所有點(diǎn)的數(shù)量(包括源點(diǎn)和匯點(diǎn)),所以在有的時(shí)候需要n+=2,與我的習(xí)慣還是有一丟丟小不同,不過問題不大

%kuangbin大神

代碼:

const int N=1e5+100;//點(diǎn)數(shù)的最大值const int M=2e5+100;//邊數(shù)的最大值struct Node {int from,to,next;int cap; }edge[M];int tol,head[N],dep[N],gap[N];//gap[x]=y :說明殘留網(wǎng)絡(luò)中dep[i]==x的個(gè)數(shù)為yint n;//n是總的點(diǎn)的個(gè)數(shù),包括源點(diǎn)和匯點(diǎn)void init() {tol=0;memset(head,-1,sizeof(head)); }void addedge(int u,int v,int w) {edge[tol].from=u;edge[tol].to=v;edge[tol].cap=w;edge[tol].next=head[u];head[u]=tol++;edge[tol].from=v;edge[tol].to=u;edge[tol].cap=0;edge[tol].next=head[v];head[v]=tol++; } void BFS(int start,int end) {memset(dep,-1,sizeof(dep));memset(gap,0,sizeof(gap));gap[0]=1;int que[N];int front,rear;front=rear=0;dep[end]=0;que[rear++]=end;while(front!=rear){int u=que[front++];if(front==N)front=0;for(int i=head[u];i!=-1;i=edge[i].next){int v=edge[i].to;if(dep[v]!=-1)continue;que[rear++]=v;if(rear==N)rear=0;dep[v]=dep[u]+1;++gap[dep[v]];}} } int SAP(int start,int end) {int res=0;BFS(start,end);int cur[N];int S[N];int top=0;memcpy(cur,head,sizeof(head));int u=start;int i;while(dep[start]<n){if(u==end){int temp=inf;int inser;for(i=0;i<top;i++)if(temp>edge[S[i]].cap){temp=edge[S[i]].cap;inser=i;}for(i=0;i<top;i++){edge[S[i]].cap-=temp;edge[S[i]^1].cap+=temp;}res+=temp;top=inser;u=edge[S[top]].from;}if(u!=end&&gap[dep[u]-1]==0)//出現(xiàn)斷層,無增廣路break;for(i=cur[u];i!=-1;i=edge[i].next)if(edge[i].cap!=0&&dep[u]==dep[edge[i].to]+1)break;if(i!=-1){cur[u]=i;S[top++]=i;u=edge[i].to;}else{int min=n;for(i=head[u];i!=-1;i=edge[i].next){if(edge[i].cap==0)continue;if(min>dep[edge[i].to]){min=dep[edge[i].to];cur[u]=i;}}--gap[dep[u]];dep[u]=min+1;++gap[dep[u]];if(u!=start)u=edge[S[--top]].from;}}return res; }

?

總結(jié)

以上是生活随笔為你收集整理的(转)网络流-最大流 SAP算法(模板)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲国产成人精品无码区99 | 香蕉久久精品日日躁夜夜躁 | 日韩精品一二区 | 日韩网站在线观看 | 91喷水视频 | 日本一区二区免费电影 | 欧美色图一区二区 | 香蕉视频ap | 亚洲精品 欧美 | av免播放器在线观看 | 国模在线视频 | 国产精品天堂 | 永久免费精品 | 男生女生插插插 | 亚洲AV无码一区二区伊人久久 | xxxx性视频 | 亚洲欧洲综合 | 主播一区二区 | 蜜臀av性久久久久蜜臀av麻豆 | 日韩av片在线免费观看 | 女futa攻玩遍整个后宫 | 日本高清无吗 | 亚洲日本片 | 女性向小h片资源在线观看 日本天天操 | av网站大全在线 | 亚洲人成人网 | 国产一级黄色录像 | 97日韩精品| 亚洲精品国产精品乱码不卡√香蕉 | 50度灰在线| 亚洲日本韩国在线 | 91精品在线视频观看 | 日日夜夜网 | 伊人影片| 波多野结衣av中文字幕 | 九九啪 | 好吊操妞 | 国产精品无码人妻一区二区在线 | 欧美人妻日韩精品 | 国产主播福利在线 | 欧美在线一二三区 | 欧美黄色激情 | 久久蜜桃精品 | 99re视频| 91成人动漫| va视频在线 | 中国少妇高潮 | 精品久久久免费 | 麻豆精品视频 | 亚欧美一区二区三区 | 午夜一区在线 | 自拍第一区 | 男人的天堂视频 | 绿帽h啪肉np辣文 | 日韩男女啪啪 | 久久久资源 | 成人黄色片在线观看 | 日批网站在线观看 | 国产在线观看免费播放 | 亚洲另类av | 日本一区二区三区在线看 | 毛片网站在线免费观看 | 欧美日韩xxxx | 日本一级片免费看 | 亚洲综合在线一区二区 | 亚洲av无码一区二区乱子仑 | 狼人精品一区二区三区在线 | 亚洲视频一二三区 | 精品国产乱码久久久久夜深人妻 | 在线观看视频日韩 | 亚洲爱爱网站 | 亚洲中文字幕一区二区在线观看 | 亚洲特级黄色片 | 青青草手机在线 | 免费观看毛片网站 | 奇米影视四色在线 | 美女精品一区 | 欧美精产国品一二三 | 美女扒开腿让人桶爽原神 | 国产高清在线 | 国产无套粉嫩白浆内谢 | 天天射网站 | 国产美女在线精品 | 久久久久麻豆v国产精华液好用吗 | 亚洲国产欧美日韩在线 | 国产成人77亚洲精品www | 亚洲 小说区 图片区 都市 | 热久久中文字幕 | 香蕉成人在线视频 | 深夜福利91 | 熟女av一区二区三区 | 日韩av一区二区在线 | 成人久久免费视频 | 无遮挡无掩盖网站 | 香蕉视频在线视频 | 久久人人视频 | 蜜臀久久精品 | 国产精品羞羞答答在线 | 一级真人毛片 |