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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

网络流24题 ——运输问题 luogu 4015

發布時間:2024/8/24 编程问答 29 如意码农
生活随笔 收集整理的這篇文章主要介紹了 网络流24题 ——运输问题 luogu 4015 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述:這里

題面已經提示我們這是費用流了

那么由源點向所有倉庫連邊,容量為倉庫原有貨物量,費用為0

然后由所有零售商店向匯點連邊,容量為一個零售商店的需求量,費用為0

最后由倉庫向零售商店連邊,容量正無窮(由于源點和匯點的限制,所以不會出現不合法情況),費用為題給費用

然后跑費用流就得到了最小費用

至于最大費用,按套路所有費用取反后再跑一遍費用流即可

#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
using namespace std;
const int inf=0x3f3f3f3f;
struct Edge
{
int next;
int to;
int val;
int pri;
}edge[40005];
int head[255];
int dis[255];
int pre[255];
int fa[255];
bool used[255];
int lim[255];
int v1[255];
int v2[255][255];
int cnt=1;
int st,ed;
int n,m;
void init()
{
memset(head,-1,sizeof(head));
memset(edge,0,sizeof(edge));
cnt=1;
}
void add(int l,int r,int w,int v)
{
edge[cnt].next=head[l];
edge[cnt].to=r;
edge[cnt].val=w;
edge[cnt].pri=v;
head[l]=cnt++;
}
int ide(int x)
{
return (x&1)?x+1:x-1;
}
bool spfa()
{
memset(dis,0x3f,sizeof(dis));
memset(used,0,sizeof(used));
memset(lim,0,sizeof(lim));
dis[st]=0;
pre[ed]=-1;
lim[st]=inf;
used[st]=1;
queue <int> M;
M.push(st);
while(!M.empty())
{
int u=M.front();
M.pop();
for(int i=head[u];i!=-1;i=edge[i].next)
{
int to=edge[i].to;
if(edge[i].val&&dis[to]>dis[u]+edge[i].pri)
{
lim[to]=min(lim[u],edge[i].val);
dis[to]=dis[u]+edge[i].pri;
pre[to]=i,fa[to]=u;
if(!used[to])used[to]=1,M.push(to);
}
}
used[u]=0;
}
return pre[ed]!=-1;
}
int EK()
{
int maxw=0,minv=0;
while(spfa())
{
maxw+=lim[ed];
minv+=lim[ed]*dis[ed];
int temp=ed;
while(temp!=st)
{
edge[pre[temp]].val-=lim[ed];
edge[ide(pre[temp])].val+=lim[ed];
temp=fa[temp];
}
}
return minv;
}
int main()
{
init();
scanf("%d%d",&n,&m);
st=m+n+1,ed=m+n+2;
for(int i=1;i<=n;i++)
{
scanf("%d",&v1[i]);
add(st,i,v1[i],0);
add(i,st,0,0);
}
for(int i=1;i<=m;i++)
{
scanf("%d",&v1[i+n]);
add(i+n,ed,v1[i+n],0);
add(ed,i+n,0,0);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&v2[i][j+n]);
add(i,j+n,inf,v2[i][j+n]);
add(j+n,i,0,-v2[i][j+n]);
}
}
printf("%d\n",EK());
init();
for(int i=1;i<=n;i++)
{
add(st,i,v1[i],0);
add(i,st,0,0);
}
for(int i=1;i<=m;i++)
{
add(i+n,ed,v1[i+n],0);
add(ed,i+n,0,0);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
add(i,j+n,inf,-v2[i][j+n]);
add(j+n,i,0,v2[i][j+n]);
}
}
printf("%d\n",-EK());
return 0;
}

  

總結

以上是生活随笔為你收集整理的网络流24题 ——运输问题 luogu 4015的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色5566| 欧美,日韩,国产在线 | 欧美亚州国产 | 日韩av在线中文字幕 | 韩国性猛交╳xxx乱大交 | 永久免费未网 | 懂色视频在线观看 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 激情久久网 | 婷婷成人综合网 | 国产精品久久久久久久免费观看 | 亚洲精品一区二区在线观看 | 九色porny自拍视频 | 午夜精品久久久久久久久久久久久蜜桃 | 男女操操| 原来神马电影免费高清完整版动漫 | 国语对白 | 亚洲女人天堂网 | 色久视频| 99久久国产精 | 91看片免费版 | 不卡成人| 毛片免费全部无码播放 | gai免费观看网站外网 | 久草资源在线观看 | 欧美一级在线看 | 久久嫩草精品久久久久 | 少妇精品偷拍高潮白浆 | 日韩欧美偷拍 | 欧美综合在线视频 | 大乳女喂男人吃奶视频 | 99精品福利视频 | 久久精品6 | 久久99网站 | 日本一区二区不卡视频 | av黄色片| 国产精品尤物视频 | 日本理论中文字幕 | 欧美少妇一区二区 | 国产成人在线视频网站 | 国产又粗又猛视频免费 | 探花国产 | 国产性猛交xxxⅹ交酡全过程 | 在线成人影视 | 麻豆国产在线播放 | 亚洲精品爱爱 | 97超碰人人网 | 日韩黄色一级片 | 亚洲青涩 | 夫の上司に犯波多野结衣853 | 亚洲欧美国产毛片在线 | 亚洲第一男人天堂 | 在线观看亚洲免费视频 | 中字av在线| 日韩av一二三 | 亚洲综合福利 | 免费无码不卡视频在线观看 | 香蕉在线影院 | 色综合色婷婷 | 国产91片| 狠狠人妻久久久久久综合 | 色四虎 | 无码人妻少妇色欲av一区二区 | 日韩成人欧美 | 长篇高h肉爽文丝袜 | 亚洲精品一区二区三区精华液 | 国产sm网站| 小泽玛利亚一区二区三区在线观看 | 久久.com| 欧美又粗又大aaa片 老熟妇仑乱视频一区二区 亚洲妇女体内精汇编 | 午夜丁香网 | 久久香蕉国产 | 欧美精品大片 | 人妻无码中文字幕免费视频蜜桃 | 黄色国产在线播放 | 美女大黄网站 | 99在线视频精品 | 色老头在线观看 | 国产精品久久久久久久久久小说 | 萌白酱喷水视频 | 亚洲欧洲色图 | 日韩在线观看你懂的 | 精品视频一二 | 国产在线国偷精品免费看 | 可以直接看的毛片 | 成人免费观看视频大全 | 91看片成人 | 91精品99| 四虎最新网址在线观看 | 91看片网页版 | 91香蕉视频在线观看免费 | 日韩激情视频在线观看 | 久久亚洲精品小早川怜子 | 新版天堂资源中文8在线 | 91影院在线观看 | 婷综合 | 黄色a∨| 一区二区三区四区在线免费观看 | 国产亚洲欧美日韩高清 |