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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

POJ 3801/HDU 3157 Crazy Circuits | 有下界的最小流

發布時間:2024/1/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 3801/HDU 3157 Crazy Circuits | 有下界的最小流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

POJ最近總是炸

所以還是用HDU吧http://acm.hdu.edu.cn/showproblem.php?pid=3157


題解:

題很長,但其實就是給個有源匯帶下界網絡流(+是源,-是匯),求最小流

求法:

1.模仿可行流建圖,但是不加t到s的INF邊

2.跑最大流

3.加t到sINF邊

4.跑最大流

5.如果兩次答案相加不等于sum,無解;

6.如果有解,t到s的反邊流量就是答案

#include<cstdio> #include<algorithm> #include<cstring> #include<queue> #define N 205 #define M 20005 #define INF 0x3f3f3f3f using namespace std; int n,m,s,t,S,T,c,cur[N],head[N],d[N],sum,ecnt=1,ans,lev[N]; char a[N],b[N]; queue<int> q; struct adj {int nxt,v,w; }e[M]; int calc(char j[]) {if (j[0]=='+') return n+1;if (j[0]=='-') return n+2;int ans=0,s=strlen(j);for (int i=0;i<s;i++) ans*=10,ans+=j[i]-'0';return ans; } void add(int u,int v,int w) {e[++ecnt].v=v;e[ecnt].w=w;e[ecnt].nxt=head[u];head[u]=ecnt;e[++ecnt].v=u;e[ecnt].w=0;e[ecnt].nxt=head[v];head[v]=ecnt; } void init() {memset(head,0,sizeof(head));memset(d,0,sizeof(d));ecnt=1;ans=sum=0; } bool bfs() {for (int i=1;i<=T;i++)cur[i]=head[i],lev[i]=-1;q.push(S);lev[S]=1;while (!q.empty()){int u=q.front();q.pop();for (int i=head[u],v;i;i=e[i].nxt)if (lev[v=e[i].v]==-1 && e[i].w>0)q.push(v),lev[v]=lev[u]+1;}return lev[T]!=-1; } int dfs(int u,int flow) {if (u==T) return flow;int ret=0,v,delta;for (int &i=cur[u];i;i=e[i].nxt)if (lev[v=e[i].v]==lev[u]+1 && e[i].w>0){delta=dfs(v,min(flow-ret,e[i].w));if (delta){e[i].w-=delta;e[i^1].w+=delta;ret+=delta;if (ret==flow) break;}}return ret; } int main() {while (scanf("%d%d",&n,&m)!=EOF){if (n==0 && m==0) break;init();s=n+1;t=s+1;S=t+1;T=S+1;for (int i=1,u,v;i<=m;i++){scanf("%s%s%d",a,b,&c);u=calc(a);v=calc(b);add(u,v,INF-c);d[u]-=c;d[v]+=c;}for (int i=1;i<=n+2;i++)if (d[i]>0) add(S,i,d[i]),sum+=d[i];else if (d[i]<0) add(i,T,-d[i]);while (bfs()) ans+=dfs(S,INF);add(t,s,INF);while (bfs()) ans+=dfs(S,INF);if (ans!=sum) puts("impossible");else printf("%d\n",e[ecnt].w);}return 0; }

?

轉載于:https://www.cnblogs.com/mrsheep/p/8227964.html

總結

以上是生活随笔為你收集整理的POJ 3801/HDU 3157 Crazy Circuits | 有下界的最小流的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 谁有av网址 | 娇小的粉嫩xxx极品 国产精品人人爽人人爽 | 最黄一级片| 国产一卡二卡在线 | 国产一级久久 | 国产午夜电影 | 国产深夜福利 | 无码人妻精品一区二 | 国产一级一区 | 色综合久久久久综合体桃花网 | 久久久久久久9999 | 天天曰天天干 | 少妇与公做了夜伦理69 | 美女被草出白浆 | 大陆一级黄色片 | 成人网一区 | 国产大片在线观看 | 狠狠干夜夜干 | 五月天伊人网 | 在线免费观看h片 | 亚洲精品免费观看 | 色综合综合| 91av在线网站 | 伊人激情 | 午夜激情一区 | 九草网 | 亚洲一区二区自拍 | 黄色一级片. | 亚州综合视频 | av日韩一区二区 | 欧美一区网站 | 音影先锋av资源 | 美女网站一区 | 制服诱惑一区二区 | 女女高潮h冰块play失禁百合 | 在线观看免费毛片 | 欧州一区二区 | 超碰免费97 | 久久亚洲精品石原莉奈 | 亚洲欧美日韩一区二区三区四区 | 国产98在线| 超碰97在线播放 | 91嫩草精品 | 亚洲欧洲色图 | 婷婷婷色 | 欧洲三级在线 | 这里精品 | 亚洲成a人片 | 日产毛片 | 成年免费视频 | 日韩成人精品一区二区 | 国产免费黄色大片 | 亚洲精品一区二区三区在线观看 | 两性午夜免费视频 | 手机看片一区 | 国产精品乱码一区二区三区 | 成人在线国产视频 | 中文字幕色片 | 中文字幕观看在线 | 亚洲成人h | 国产小视频在线播放 | xxxx久久| 善良的老师伦理bd中字 | 精品免费视频一区二区 | 国产精品久久久久久久午夜 | 天天干夜夜爽 | 偷拍亚洲欧美 | 韩国视频一区二区三区 | 亚洲射| 天堂色av | 日批毛片 | 欧美日韩激情一区二区 | 国产色在线观看 | 黄色三级小说 | 一区二区三区精品在线观看 | 欧美午夜不卡 | 在线观看三级网站 | 久久午夜场 | 日韩免费毛片 | 久久精品2019中文字幕 | 五月婷婷综合激情 | 女性私密整形视频 | 国产精品人人 | 国产肥白大熟妇bbbb视频 | 日韩精品电影在线观看 | 国产精品一二区 | xxxx在线播放 | 天天摸夜夜添 | 国产传媒一区二区 | 精品国产一区二区三区四 | 免费a级片视频 | av在线中文| 成人午夜视频免费观看 | 狠色综合 | 亚洲精品一区二区三区蜜桃 | 黑人操日本 | 你懂的91 | 无码精品久久久久久久 | 制服诱惑一区二区 |