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

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

生活随笔

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

编程问答

hdu 3879(最小割模型求解最大权闭合图)

發(fā)布時(shí)間:2025/3/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu 3879(最小割模型求解最大权闭合图) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題意:

公司得到了一共N個(gè)可以作為通訊信號(hào)中轉(zhuǎn)站的地址,而由于這些地址的地理位置差異,在不同的地方建造通訊中轉(zhuǎn)站需要投入的成本也是不一樣的,所幸在前期調(diào)查之后這些都是已知數(shù)據(jù):建立第i個(gè)通訊中轉(zhuǎn)站需要的成本為Pi(1≤i≤N)。 ?另外公司調(diào)查得出了所有期望中的用戶群,一共M個(gè)。關(guān)于第i個(gè)用戶群的信息概括為Ai, Bi和Ci:這些用戶會(huì)使用中轉(zhuǎn)站Ai和中轉(zhuǎn)站Bi進(jìn)行通訊,公司可以獲益Ci。(1≤i≤M, 1≤Ai, Bi≤N)

?THU集團(tuán)的CS&T公司可以有選擇的建立一些中轉(zhuǎn)站(投入成本),為一些用戶提供服務(wù)并獲得收益(獲益之和)。那么如何選擇最終建立的中轉(zhuǎn)站才能讓公司的凈獲利最大呢?(凈獲利 = 獲益之和 - 投入成本之和)


解題思路:這道題是《最小割模型在信息學(xué)競(jìng)賽中的應(yīng)用》介紹到的“最大獲利問(wèn)題”,詳細(xì)的證明過(guò)程要參看論文。這里只講建圖的思路。

把每個(gè)用戶和每個(gè)站點(diǎn)看成是一個(gè)頂點(diǎn),建立網(wǎng)絡(luò),從源點(diǎn)s向每個(gè)用戶連一條容量為利潤(rùn)的邊,每個(gè)用戶向相關(guān)站點(diǎn)連一條容量為無(wú)窮大的邊,每個(gè)站點(diǎn)向匯點(diǎn)連一條容量為成本的邊。求出的最小割就是maxflow = (未被選的用戶收益之和+被選的站點(diǎn)成本之和),設(shè)sum為總收益,我們要求的是(被選的用戶收益之和-被選的站點(diǎn)成本之和),剛好等于sum-maxflow。至于原因參看論文。

這里要使用非遞歸版本的dinic,我的是遞歸版本的超時(shí)了。

TLE:

#include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespace std;const int maxn = 60000; const int inf = 0x3f3f3f3f; struct Edge {int to,next,flow; }edge[maxn<<2]; int n,m,cnt,pre[maxn],layer[maxn];void addedge(int u,int v,int flow) {edge[cnt].to = v;edge[cnt].flow = flow;edge[cnt].next = pre[u];pre[u] = cnt++;swap(u,v);edge[cnt].to = v;edge[cnt].flow = 0;edge[cnt].next = pre[u];pre[u] = cnt++; }bool bfs(int s,int t) {queue<int> q;memset(layer,0,sizeof(layer));layer[s] = 0;q.push(s);while(!q.empty()){int u = q.front();q.pop();if(u == t) return true;for(int i = pre[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(edge[i].flow > 0 && layer[v] == 0){layer[v] = layer[u] + 1;q.push(v);}}}return false; }int dfs(int u,int t,int maxflow) {if(u == t) return maxflow;int uflow = 0;for(int i = pre[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(layer[v] == layer[u] + 1 && edge[i].flow > 0){int flow = min(maxflow - uflow,edge[i].flow);flow = dfs(v,t,flow);edge[i].flow -= flow;edge[i^1].flow += flow;uflow += flow;if(uflow == maxflow) break;}}if(uflow == 0)layer[u] = 0;return uflow; }int dinic(int s,int t) {int maxflow = 0;while(bfs(s,t) == true)maxflow += dfs(s,t,inf);return maxflow; }int main() {int s,t,u,v,w;while(scanf("%d%d",&n,&m)!=EOF){s = 0, t = n + m + 1;cnt = 0;memset(pre,-1,sizeof(pre));for(int i = 1; i <= n; i++){scanf("%d",&w);addedge(i,t,w);}int sum = 0;for(int i = 1; i <= m; i++){scanf("%d%d%d",&u,&v,&w);sum += w;addedge(s,n+i,w);addedge(n+i,u,inf);addedge(n+i,v,inf);}printf("%d\n",sum - dinic(s,t));}return 0; }

總結(jié)

以上是生活随笔為你收集整理的hdu 3879(最小割模型求解最大权闭合图)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 麻豆国产精品 | 国产又黄又粗又猛又爽 | 国产福利视频导航 | 免费人成视频在线 | 福利在线免费视频 | 久久99国产视频 | 免费成人蒂法网站 | 欧美日韩小视频 | 少妇综合网| 91最新视频| 免费av一区二区三区 | 久草视频在线免费 | 韩国三级一区 | 国产精品1000部啪视频 | 亚洲精品无码久久久久 | 禁果av一区二区三区 | 午夜激情视频在线播放 | 亚洲少妇网 | 永久免费av网站 | 欧美一级视频 | 玖玖爱av | 中文字幕在线观 | 精品黑人一区二区三区在线观看 | 成人精品一区二区三区四区 | 久久亚洲精选 | 91在线无精精品白丝 | 中国女人内谢69xxxxⅹ视频 | 可以免费看的av毛片 | 国产成人在线一区 | 人人插人人干 | 国产精品视频专区 | 女的高潮流时喷水图片大全 | 污网站在线免费看 | 日本免费高清一区二区 | 天天射综合 | 一级片在线免费观看视频 | 99精品热| 欧美四区| 国内少妇精品 | 欧美色亚洲色 | 久久综合九色综合欧美狠狠 | 久久99国产精品久久99果冻传媒 | 热播网 | 男女啊啊啊视频 | 国产精品无码自拍 | 男女黄床上色视频免费的软件 | 日本一区不卡 | √天堂8资源中文在线 | 97人妻精品一区二区免费 | 成人免费视频网站在线看 | 欧美亚洲久久 | 自拍视频在线 | 四虎网址在线观看 | 在线看片中文字幕 | 久久wwww | 欧美另类视频在线 | 97超碰中文字幕 | 久久精品国产大片免费观看 | 精品少妇av| 欧美激情久久久久久 | 成人看的视频 | 一级黄色录相 | 日韩激情床戏 | 国产精品国产三级国产传播 | 国产 日韩 一区 | 国产成人av一区二区 | 极品探花在线观看 | 少妇真人直播免费视频 | 91蝌蚪91九色白浆 | 中国精品久久 | 99热在线观看 | 黄色羞羞网站 | 国产一区二区福利 | 色多多在线看 | 日韩国产欧美综合 | 中国美女毛片 | 村上凉子av | 女同另类之国产女同 | 四虎精品在线观看 | 日日摸夜夜爽 | 这里只有精品在线观看 | 国产精品久久久久久久免费观看 | 欧美亚洲国产一区 | 日韩欧美综合久久 | www.亚洲色图 | 中文在线观看免费视频 | 久久综合在线 | 污av| 天堂v在线观看 | 国产精品免费一区二区三区在线观看 | 另类ts人妖一区二区三区 | 亚洲色图视频在线观看 | 亚洲av高清一区二区三区 | 久久久伊人网 | 国产绿帽刺激高潮对白 | 韩国女主播一区二区 | 五月中文字幕 | 碰在线视频| 99re7|