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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HDU 2282 Chocolate (最小费用最大流)

發(fā)布時間:2025/5/22 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 2282 Chocolate (最小费用最大流) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

HDU ?2282 Chocolate (最小費用最大流)


#include <iostream> #include <cstdio> #include <queue> #include <cstdlib> using namespace std;const int maxn=30000; const int inf=200000000; struct edge{int u,v,next,f,c;edge(int u0=0,int v0=0,int f0=0,int c0=0,int next0=0){u=u0,v=v0,f=f0,c=c0,next=next0;} }e[maxn*10]; int head[maxn*2],visited[maxn*2],path[maxn*2],dist[maxn*2]; int cnt,from,to,marked,maxflow,offflow,n,r,m;void initial(){to=2*n+1;cnt=0;marked=1;maxflow=0;from=0;for(int i=0;i<=to;i++){head[i]=-1;visited[i]=0;} }void adde(int u,int v,int f,int c){e[cnt].u=u,e[cnt].v=v,e[cnt].f=f,e[cnt].c=c,e[cnt].next=head[u],head[u]=cnt++;e[cnt].u=v,e[cnt].v=u,e[cnt].f=0,e[cnt].c=-c,e[cnt].next=head[v],head[v]=cnt++; }void input(){int u0,c0;for(int i=1;i<=n;i++){adde(0,i,inf,0);adde(i+n,to,1,0);}for(int i=1;i<=n;i++){scanf("%d",&c0);adde(i,i+n,c0,0);adde(i+n,i-1<1?n+n:i-1+n,inf,1);adde(i+n,i+1>n?1+n:i+1+n,inf,1);} }void bfs(){for(int i=0;i<=to;i++){dist[i]=inf;path[i]=-1;}dist[0]=0;queue <int> q;q.push(0);marked++;visited[0]=marked;while(!q.empty()){int s=q.front();q.pop();for(int i=head[s];i!=-1;i=e[i].next){int d=e[i].v;if(e[i].f>0 && dist[s]+e[i].c<dist[d]){dist[d]=dist[s]+e[i].c;path[d]=i;if(visited[d]!=marked){visited[d]=marked;q.push(d);}}}visited[s]=-1;} }void computing(){while(true){ bfs();/*cout<<to;for(int i=to;i!=from;i=e[path[i]].u){cout<<"->"<<e[path[i]].u;}cout<<endl;*/if(dist[to]>=inf) break;maxflow+=dist[to];for(int i=to;i!=from;i=e[path[i]].u){e[path[i]].f-=1;e[path[i]^1].f+=1;}}printf("%d\n",maxflow); }int main(){while(scanf("%d",&n)!=EOF){initial();input();computing();}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/toyking/p/3797396.html

總結(jié)

以上是生活随笔為你收集整理的HDU 2282 Chocolate (最小费用最大流)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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