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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

洛谷 P4012 深海机器人问题【费用流】

發布時間:2023/11/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 P4012 深海机器人问题【费用流】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:https://www.luogu.org/problemnew/show/P4012

洛谷 P4012 深海機器人問題

輸入輸出樣例

輸入樣例#1: 1 1 2 2 1 2 3 4 5 6 7 2 8 10 9 3 2 0 0 2 2 2 輸出樣例#1: 42

說明

題解:建圖方法如下:

  對于矩陣中的每個點,向東、向北分別與其相鄰點都要連兩條邊(重邊):

    1)容量為1,費用為該邊價值的邊;

    2)容量為INF,費用為0的邊(因為多個深海機器人可以在同一時間占據同一位置)。

  對于每個起點:從S(源點)到這個點連:容量為該點機器人數,費用為0的邊。

  對于每個終點:從這個點到T(匯點)連:容量為該點機器人數,費用為0的邊。

?

代碼:

1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 455; 5 const int M = N*4+30; 6 const int INF = 0x3f3f3f3f; 7 struct Edge { int to,next,cap,flow,cost; }edge[M]; 8 int head[N],tol; 9 int pre[N],dis[N]; 10 bool vis[N]; 11 int V; 12 void init(int n) { 13 V = n; 14 tol = 0; 15 memset(head,-1,sizeof(head)); 16 } 17 void addedge(int u,int v,int cap,int cost) { 18 edge[tol].to = v; edge[tol].cap = cap; edge[tol].cost = cost; edge[tol].flow = 0; edge[tol].next = head[u]; head[u] = tol++; 19 edge[tol].to = u; edge[tol].cap = 0; edge[tol].cost = -cost; edge[tol].flow = 0; edge[tol].next = head[v]; head[v] = tol++; 20 } 21 bool spfa(int s,int t) { 22 queue<int>q; 23 for(int i = 0;i < V;i++) { 24 dis[i] = INF; 25 vis[i] = false; 26 pre[i] = -1; 27 } 28 dis[s] = 0; 29 vis[s] = true; 30 q.push(s); 31 while(!q.empty()) { 32 int u = q.front(); 33 q.pop(); 34 vis[u] = false; 35 for(int i = head[u]; i != -1;i = edge[i].next) { 36 int v = edge[i].to; 37 if(edge[i].cap > edge[i].flow && dis[v] > dis[u] + edge[i].cost ) { 38 dis[v] = dis[u] + edge[i].cost; 39 pre[v] = i; 40 if(!vis[v]) { 41 vis[v] = true; 42 q.push(v); 43 } 44 } 45 } 46 } 47 if(pre[t] == -1) return false; 48 else return true; 49 } 50 int minCostMaxflow(int s,int t,int &cost) { 51 int flow = 0; 52 cost = 0; 53 while(spfa(s,t)) { 54 int Min = INF; 55 for(int i = pre[t];i != -1;i = pre[edge[i^1].to]) { 56 if(Min > edge[i].cap - edge[i].flow) 57 Min = edge[i].cap - edge[i].flow; 58 } 59 for(int i = pre[t];i != -1;i = pre[edge[i^1].to]) { 60 edge[i].flow += Min; 61 edge[i^1].flow -= Min; 62 cost += edge[i].cost * Min; 63 } 64 flow += Min; 65 } 66 return flow; 67 } 68 int main() { 69 int a, b, p, q, k, x, y, i, j, ans = 0; 70 scanf("%d%d", &a, &b);//出發和目的地數目 71 scanf("%d%d", &p, &q); 72 init((p+1)*(q+1)+3); 73 74 int s = (p+1)*(q+1)+1, t = (p+1)*(q+1)+2; 75 76 for(i = 0; i <= p; ++i) {//p+1行,向東移動 77 for(j = 0; j < q; ++j) { 78 scanf("%d", &x);//邊上的標本價值 79 addedge(i*(q+1)+j, i*(q+1)+j+1, 1, -x); 80 addedge(i*(q+1)+j, i*(q+1)+j+1, INF, 0); 81 } 82 } 83 for(j = 0; j <= q; ++j) {//q+1列,向北移動 84 for(i = 0; i < p; ++i) { 85 scanf("%d", &x); 86 addedge(i*(q+1)+j, i*(q+1)+j+q+1, 1, -x); 87 addedge(i*(q+1)+j, i*(q+1)+j+q+1, INF, 0); 88 } 89 } 90 for(i = 1; i <= a; ++i) {//起點 91 scanf("%d%d%d", &k, &x, &y); 92 addedge(s, x*(q+1)+y, k, 0); 93 } 94 for(i = 1; i <= b; ++i) {//終點 95 scanf("%d%d%d", &k, &x, &y); 96 addedge(x*(q+1)+y, t, k, 0); 97 } 98 minCostMaxflow(s, t, ans); 99 printf("%d\n", -ans); 100 return 0; 101 } View Code

?

轉載于:https://www.cnblogs.com/GraceSkyer/p/9038586.html

總結

以上是生活随笔為你收集整理的洛谷 P4012 深海机器人问题【费用流】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美一级黄色录像 | 成人毛片18女人毛片 | 久久99精品久久久久久琪琪 | 日本xxxxxxxxx69 | 久久精品资源 | 激情视频在线免费观看 | 天堂av在线免费 | 爱涩av| 波多野结衣中文字幕一区二区三区 | 欧美日韩一级片在线观看 | 国产精品99久久 | 少妇av在线播放 | 日韩欧美精品久久 | 久久久夜 | 三级性生活片 | 久久伊人爱 | 国产又大又粗又爽 | 蜜臀av一区二区 | 手机在线免费视频 | 日本黄色三级视频 | 日本成人性爱 | 狠狠激情| 日本黄网站 | 欧美乱妇狂野欧美在线视频 | 欧美日韩一区电影 | 成人免费高清在线观看 | 免费国产视频在线观看 | 欧美一区三区三区高中清蜜桃 | 日韩欧美a级片 | 一级黄色片在线看 | 色婷婷国产精品久久包臀 | 99er热精品视频 | 精品动漫3d一区二区三区免费版 | 亚洲激情中文字幕 | 中国女人裸体乱淫 | 日韩欧美成人一区二区三区 | 九色视频偷拍少妇的秘密 | 一本加勒比北条麻妃 | 亚洲一区中文字幕 | 久草热在线观看 | 永久视频在线观看 | 黄色视屏在线免费观看 | 日韩电影在线观看一区 | 精品国产一区二区三区在线 | 欧美人吸奶水吃奶水 | 久久精品一二三区 | 成人免费区一区二区三区 | 男人和女人在床的app | 亚洲美女性视频 | 成人羞羞国产免费动态 | 国产小视频网址 | 成人深夜在线 | 欧美电影一区二区三区 | 黄色网址哪里有 | 91www| 超碰97在线播放 | 日本一区二区三区四区五区 | 黄色片一区二区三区 | 秘密基地免费观看完整版中文 | 久久精品国产一区二区电影 | 婷婷综合色 | 国产精品一亚洲av日韩av欧 | 成年人在线免费看 | 青草青在线视频 | 色88久久久久高潮综合影院 | 蜜桃av噜噜一区二区三区小说 | 野外做受又硬又粗又大视频√ | 久久久三级 | 一级片大片| 黄色a级片 | 911香蕉 | 精品一区二区三区电影 | 奇米色综合 | 久久精品国产亚洲av高清色欲 | 成人精品在线看 | 日韩精品福利 | 国产一区视频在线播放 | 欧美图片第一页 | 久操精品在线 | 欧美日韩国产免费一区二区三区 | 成人激情在线视频 | 午夜精品一区二区三区在线视频 | 99热在线观看精品 | 99热在线观看精品 | 日韩精选av | 无码国产伦一区二区三区视频 | 久久天天躁狠狠躁夜夜av | 国产欧美精品一区 | 中文字幕一区在线观看 | 看一级片 | 久久人人妻人人人人妻性色av | 久久久久久无码午夜精品直播 | 国产a久久 | 成年人三级视频 | 国产在线精品成人欧美 | 免费99精品国产自在在线 | 成人免费片 | 久久99热人妻偷产国产 | 噼里啪啦国语高清 |