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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【网络流24题】餐巾计划问题(最小费用最大流)

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【网络流24题】餐巾计划问题(最小费用最大流) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【網絡流24題】餐巾計劃問題(最小費用最大流)

題面

COGS
洛谷上的數據范圍更大,而且要開longlong

題解

餐巾的來源分為兩種:
①新買的
②舊的拿去洗
所以,兩種情況分別建圖

先考慮第一種
因為新買餐巾沒有任何限制,并且隨時可以買
所以直接從源點向每一天連邊,容量為INF,費用為餐巾的價格
因為流要流出去,所以每個點向匯點連邊,容量為每天的用量,費用為0

第二種,舊的拿去洗
首先考慮一下怎么算有多少舊的餐巾
每天用舊的餐巾的數量值一定的,不可能變多
因此從源點向這些點連邊,容量為每天的用量,費用為0
因為舊餐巾可以累積,所以從上一天向下一天連邊,容量為INF,費用為0
接下來是快洗和慢洗,這兩種情況是一樣的
直接從表示舊餐巾數量的這些點向洗完的那一天連邊,
容量為INF,費用為洗餐巾的費用

這樣子連邊保證最大流為總的餐巾需求數
也就是說,每天一定會流滿(因為中間的邊容量是INF,如果要割開只能割源點或者匯點連出去的邊,而這些邊的容量和就是餐巾的總需求數)

#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<set> #include<map> #include<vector> #include<queue> using namespace std; #define INF 1000000000 #define MAXL 500000 #define MAX 2000 inline int read() {int x=0,t=1;char ch=getchar();while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();if(ch=='-')t=-1,ch=getchar();while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();return x*t; } int n,a[MAX]; struct Line {int v,next,w,fy; }e[MAXL]; int h[MAX],cnt=2; inline void Add(int u,int v,int w,int fy) {e[cnt]=(Line){v,h[u],w,fy};h[u]=cnt++;e[cnt]=(Line){u,h[v],0,-fy};h[v]=cnt++; } int dis[MAX],pe[MAX],pv[MAX]; int S,T,Cost,Flow; bool vis[MAX]; bool SPFA() {for(int i=S;i<=T;++i)dis[i]=INF;dis[S]=0;queue<int> Q;Q.push(S);while(!Q.empty()){int u=Q.front();Q.pop();for(int i=h[u];i;i=e[i].next){int v=e[i].v;if(e[i].w&&dis[v]>dis[u]+e[i].fy){dis[v]=dis[u]+e[i].fy;pe[v]=i;pv[v]=u;if(!vis[v])vis[v]=true,Q.push(v);}}vis[u]=false;}if(dis[T]==INF)return false;int fl=INF;for(int i=T;i!=S;i=pv[i])fl=min(fl,e[pe[i]].w);for(int i=T;i!=S;i=pv[i])e[pe[i]].w-=fl,e[pe[i]^1].w+=fl;Flow+=fl;Cost+=fl*dis[T];return true; } int mm,ff,p; int main() {freopen("napkin.in","r",stdin);freopen("napkin.out","w",stdout);n=read();S=0,T=n+n+1;for(int i=1;i<=n;++i)a[i]=read(),Add(S,i,a[i],0),Add(i+n,T,a[i],0);p=read();for(int i=1;i<=n;++i)Add(S,i+n,INF,p);mm=read();ff=read();for(int i=1;i+mm<=n;++i)Add(i,i+n+mm,INF,ff);mm=read();ff=read();for(int i=1;i+mm<=n;++i)Add(i,i+n+mm,INF,ff);for(int i=1;i<n;++i)Add(i,i+1,INF,0);while(SPFA());printf("%d\n",Cost);return 0; }

轉載于:https://www.cnblogs.com/cjyyb/p/8175687.html

總結

以上是生活随笔為你收集整理的【网络流24题】餐巾计划问题(最小费用最大流)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品无码内射 | 久久久夜色精品亚洲 | 最新欧美日韩 | 美女张开腿让人桶 | 中文在线a天堂 | 亚洲射射 | 色资源网站 | 91国产免费视频 | 日韩人成| 日韩高清二区 | 日日噜噜噜夜夜爽爽狠狠 | 美日韩中文字幕 | 伊人av综合网 | 久久久久久久久久成人 | 黄色同人网站 | 国产成人无码av在线播放dvd | 啪啪五月天 | 台湾黄色网址 | 99在线视频免费观看 | 天堂…中文在线最新版在线 | 中文字幕在线不卡 | 欧美一区二区三区爱爱 | 亚洲欧美在线视频免费 | 日韩熟妇一区二区三区 | 牛av| 看一级黄色片 | 在线观看www视频 | 国内性爱视频 | 亚洲黄色网址 | 6996电视影片免费看 | 久久久久久久久97 | 国产一区二区三区视频免费在线观看 | 五十路息子 | 国产精品无码中文字幕 | 成人在线免费网址 | 欧美黄色一级大片 | 少妇人妻一区二区 | 久草天堂 | 国产精品一区二区三 | 97人妻精品一区二区三区免费 | 日韩有码在线视频 | 精品国产一二区 | 一级肉体全黄裸片中国 | 亚洲成人免费在线视频 | 日日噜噜夜夜狠狠久久波多野 | 台湾佬美性中文网 | 日韩经典在线 | 国产成人在线视频网站 | 日韩第一页在线 | 久操久热| 69视频在线播放 | 国产最爽的乱淫视频国语对白 | 麻豆av免费观看 | 揉我啊嗯~喷水了h视频 | 懂色tv | 91瑟瑟 | 欧美日韩精品二区 | 狠狠干2018 | 中日韩中文字幕一区二区 | 亚洲操操操 | 在线观看不卡一区 | 波多野结衣一本 | 国产精品一线二线 | 亚洲91色| 国产精品成| 国产女主播福利 | 亚洲喷水 | 阿v视频免费在线观看 | 激情导航 | 一区二区三区四区在线免费观看 | 欧美精品在线一区 | 毛片在线播放视频 | 成人在线播放网站 | 天狂传说之巴啦啦小魔仙 | 国产日韩欧美激情 | 精品人妻码一区二区三区红楼视频 | 啊av在线 | 亚洲精品乱码久久久久久黑人 | 午夜寂寞视频 | 精品一区二区三 | 久久精品久久精品久久精品 | 放几个免费的毛片出来看 | 麻豆精品国产 | 日本精品一区二区三区在线观看 | 国产h视频在线观看 | 欧美男人又粗又长又大 | 色多多视频污 | 日韩欧美卡一卡二 | 视频网站在线观看18 | 偷拍精品一区二区三区 | 日韩草逼视频 | 华人色 | 在线国产小视频 | 日韩精品字幕 | 99久久99久久精品国产片桃花 | 污视频免费在线观看网站 | 成人午夜福利视频 | 杏导航aⅴ福利网站 | 91国偷自产一区二区三区女王 |