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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)

發布時間:2024/4/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 4292 Food (成都赛区网络赛第五题,拆点网络流) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

題意:跟POJ3281基本上一樣的拆點網絡流。

建圖:建一超級源點和一超級匯點,源點與食物相連,邊權為其數量,匯點與飲料相連,邊權也為其數量,把人分成兩個點,之間的邊權為1。每個人與之需要的食物和飲料相連,邊權為1。

代碼(SAP模板):

1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include <cstdio> 5 #include <queue> 6 using namespace std; 7 const int maxn=101050; 8 const int maxm=3000000; 9 const int oo=1<<30; 10 int idx,N,F,D; 11 int cur[maxn],pre[maxn]; 12 int dis[maxn],gap[maxn]; 13 int aug[maxn],head[maxn]; 14 struct Node 15 { 16 int u, v, w; 17 int next; 18 }edge[maxm]; 19 void addEdge(int u, int v, int w) 20 { 21 edge[idx].u=u; 22 edge[idx].v=v; 23 edge[idx].w=w; 24 edge[idx].next=head[u]; 25 head[u]=idx++; 26 edge[idx].u=v; 27 edge[idx].v=u; 28 edge[idx].w=0; 29 edge[idx].next=head[v]; 30 head[v]=idx++; 31 } 32 int SAP(int s,int e,int n) 33 { 34 int max_flow=0,v,u=s; 35 int id,mindis; 36 aug[s]=oo; 37 pre[s]=-1; 38 memset(dis,0,sizeof(dis)); 39 memset(gap,0,sizeof(gap)); 40 gap[0] = n; 41 for (int i=0;i<=n;i++) 42 { 43 cur[i]=head[i]; 44 } 45 while(dis[s]<n) 46 { 47 bool flag=false; 48 if(u==e) 49 { 50 max_flow+=aug[e]; 51 for (v=pre[e];v!=-1;v=pre[v]) 52 { 53 id = cur[v]; 54 edge[id].w-=aug[e]; 55 edge[id^1].w+=aug[e]; 56 aug[v]-=aug[e]; 57 if (edge[id].w==0) 58 u=v; 59 } 60 } 61 for(id=cur[u];id!=-1;id=edge[id].next) 62 { 63 v=edge[id].v; 64 if(edge[id].w>0&&dis[u]==dis[v]+1) 65 { 66 flag=true; 67 pre[v]=u; 68 cur[u]=id; 69 aug[v]=min(aug[u], edge[id].w); 70 u=v; 71 break; 72 } 73 } 74 if (flag==false) 75 { 76 if(--gap[dis[u]]==0) 77 break; 78 mindis=n; 79 cur[u]=head[u]; 80 for(id=head[u];id!=-1;id=edge[id].next) 81 { 82 v=edge[id].v; 83 if(edge[id].w>0&&dis[v]<mindis) 84 { 85 mindis=dis[v]; 86 cur[u]=id; 87 } 88 } 89 dis[u]=mindis+1; 90 gap[dis[u]]++; 91 if(u!=s) 92 u=pre[u]; 93 } 94 } 95 return max_flow; 96 } 97 int main() 98 { 99 while(~scanf("%d%d%d",&N,&F,&D)) 100 { 101 int source=0,sink=N+N+F+D+10; 102 memset(head,-1,sizeof(head)); 103 idx=0; 104 int a,b,f,d; 105 int food [10000]; 106 int drink[10000]; 107 char str[500][500]; 108 for(int i=1;i<=F;i++) 109 { 110 scanf("%d",&food[i]); 111 addEdge(source,i,food[i]); 112 } 113 for(int i=1;i<=D;i++) 114 { 115 scanf("%d",&drink[i]); 116 addEdge(i+F,sink,drink[i]); 117 } 118 for(int i=1;i<=N;i++) 119 { 120 addEdge(D+F+i,D+F+N+i,1); 121 } 122 for(int i=1;i<=N;i++) 123 { 124 scanf("%s",str[i]+1); 125 for(int j=1;j<=F;j++) 126 { 127 if(str[i][j]=='Y') 128 { 129 addEdge(j,F+D+i,1); 130 } 131 } 132 } 133 134 for(int i=1;i<=N;i++) 135 { 136 scanf("%s",str[i]+1); 137 for(int j=1;j<=D;j++) 138 { 139 if(str[i][j]=='Y') 140 { 141 addEdge(F+D+N+i,F+j,1); 142 } 143 } 144 } 145 int n=sink+1; 146 printf("%d\n",SAP(source,sink,n)); 147 } 148 return 0; 149 }

轉載于:https://www.cnblogs.com/pony1993/archive/2012/09/26/2703734.html

總結

以上是生活随笔為你收集整理的HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 天堂网中文在线观看 | 99精品视频免费看 | 亚洲无人区码一码二码三码 | 成年人视频在线播放 | 国产视频精品视频 | 国产成人日韩 | 4438激情网| 亚洲综合插 | 亚洲一区二区影视 | 国产成人亚洲精品自产在线 | free国产hd露脸性开放 | 亚洲日日夜夜 | 国产欧美日韩激情 | 日韩欧美精品在线 | 亚洲欧美成人一区 | 草在线| 天天撸夜夜操 | 成人 黄 色 免费播放 | 久久精品蜜桃 | 波多野结衣视频一区二区 | 亚洲av无码一区二区三区四区 | 午夜精品久久久久久久第一页按摩 | 夜夜操天天射 | aa视频免费观看 | 中国女人av | 日韩免费网站 | 成人三级影院 | 午夜影院在线免费观看 | 欧美在线观看成人 | 99自拍偷拍视频 | 日本在线观看一区二区 | 国产高清精品一区二区三区 | 欧美另类视频在线观看 | a国产精品 | 在线观看精品视频 | 欧美射图 | 91丨九色丨黑人外教 | 久久一区二区精品 | 欧洲女女同性videoso | 美女光屁屁露胸胸 | 亚洲成a人 | 性爱一级视频 | 国产精品久久久久桃色tv | 91亚洲国产成人精品一区 | 亚洲αv | 久热久操 | 成人黄色免费网址 | 免费亚洲婷婷 | 疯狂做受xxxx高潮人妖 | 伊人动漫 | 久久国产精品久久国产精品 | 国产二区在线播放 | 91精品系列 | 日日摸夜夜添狠狠添欧美 | 欧美三级手机在线观看 | 依人99 | 精品人妻一区二区三区潮喷在线 | 午夜精品影院 | 中文字幕人妻一区二区三区视频 | 国产精品视频一区二区三区, | 天堂网av在线 | 黄色网战大全 | 97综合| wwwwww国产| 亚洲精品2| 欧美国产三级 | 日韩在线激情视频 | 中国国产黄色片 | 国产精品无码在线 | 99久久人妻精品免费二区 | 人妻 校园 激情 另类 | 成人av在线一区二区 | 91丨九色丨蝌蚪丨对白 | 免费黄色在线网站 | 国产精品v欧美精品v日韩精品 | 欧美性色网站 | 人人超碰在线 | 欧美日韩国产精品一区二区三区 | 久久久久久色 | 视色视频| 欧美裸体xxxx极品少妇 | 国产情侣激情自拍 | 国产热视频| 蜜桃臀一区二区三区 | aaaaa黄色片| 香蕉网站在线观看 | 尹人成人 | 大伊人久久 | 日韩精品免费一区二区在线观看 | 少妇闺蜜换浪荡h肉辣文 | 久久伊人影院 | 国产人人插| 欧美一区二区三区四区在线 | 欧美激情国产精品免费 | 翔田千里在线播放 | 污视频在线观看免费 | 色网站入口 | 一二区在线视频 | a级免费观看|