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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdu4940 有上下界的无源可行流判断

發布時間:2025/6/17 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu4940 有上下界的无源可行流判断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 給你一個強連通圖,然后問你是否可以找到任意滿足條件的集合S,S是非空集合,T是S的補集,滿足sum(D[i ,j]) <= sum(D[j,i] + B[j,i]) i屬于S集合,j屬于T集合(其實也就暗示了i,j是S,T的割邊)。

思路:

? ? ? ?無源匯上下流可行流判斷問題,首先題目給的圖是一個強連通圖,為了方便理解,我們假設這個圖只有兩個點,a,b,那么肯定也只有兩條邊,a->b ,b->a,那么我們可以直接建邊a->b(下界 D 上界 B + D) b->a(下界 D 上界 B + D)這樣跑一遍上下流之后如果存在可行流,那么就存在一個a,b之間的循環流(循環流的大小我們不用關心,我們只關心是否存在),那么就會有這樣的結論,a->b的D(下限)一定小于等于b->a 的D+B(上限),同時 b->a的D(下限) 一定小于等于a->b的 D+B(上限),所以無論是a,還是b都可以充當S集合。so如果整個圖中任意兩個集合都這樣就顯然可以滿足題意了。


#include<stdio.h> #include<string.h> #include<queue>#define N_node 220 #define N_edge 33000 #define INF 1000000000 using namespace std;typedef struct {int to ,next ,cost; }STAR;typedef struct {int x ,t; }DEP;STAR E[N_edge]; DEP xin ,tou; int list[N_node] ,listt[N_node] ,tot; int deep[N_node] ,sum_must;void add(int a ,int b ,int c) {E[++tot].to = b;E[tot].cost = c;E[tot].next = list[a];list[a] = tot;E[++tot].to = a;E[tot].cost = 0;E[tot].next = list[b];list[b] = tot; }void ADD(int a ,int b ,int c ,int d ,int ss ,int tt) {add(a ,b ,d - c);add(a ,tt ,c);add(ss ,b ,c);sum_must += c; }int minn(int x ,int y) {return x < y ? x : y; }bool BFS_Deep(int s ,int t ,int n) {xin.x = s ,xin.t = 0;queue<DEP>q;q.push(xin);memset(deep ,255 ,sizeof(deep));deep[s] = 0;while(!q.empty()){tou = q.front();q.pop();for(int k = list[tou.x] ;k ;k = E[k].next){xin.x = E[k].to;xin.t = tou.t + 1;if(deep[xin.x] != -1 || !E[k].cost)continue;deep[xin.x] = xin.t;q.push(xin);}}for(int i = 0 ;i <= n ;i ++)listt[i] = list[i];return deep[t] != -1; }int DFS_Flow(int s ,int t ,int flow) {if(s == t) return flow;int nowflow = 0;for(int k = listt[s] ;k ;k = E[k].next){listt[s] = k;int to = E[k].to;int c = E[k].cost;if(deep[to] != deep[s] + 1 || !c)continue;int tmp = DFS_Flow(to ,t ,minn(c ,flow - nowflow));nowflow += tmp;E[k].cost -= tmp;E[k^1].cost += tmp;if(nowflow == flow)break;}if(!nowflow) deep[s] = 0;return nowflow; }int DINIC(int s ,int t ,int n) {int ans = 0;while(BFS_Deep(s ,t ,n)){ans += DFS_Flow(s ,t ,INF);}return ans; }int main () {int t ,n ,m ,i ,a ,b ,c ,d ,cas = 1;scanf("%d" ,&t);while(t--){scanf("%d %d" ,&n ,&m);int ss = 0 ,tt = n + 1;memset(list ,0 ,sizeof(list));tot = 1 ,sum_must = 0;for(i = 1 ;i <= m ;i ++){scanf("%d %d %d %d" ,&a ,&b ,&c ,&d);ADD(a ,b ,c ,c + d ,ss ,tt);}printf("Case #%d: " ,cas ++);sum_must == DINIC(ss ,tt ,tt) ? puts("happy") : puts("unhappy");}return 0; }

總結

以上是生活随笔為你收集整理的hdu4940 有上下界的无源可行流判断的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 视频精品一区二区 | 久久五| 人与性动交zzzzbbbb | 亚洲视频第一页 | 天堂网中文字幕 | 另类小说色 | 欧美成人精品一区 | 一区二区三区免费在线观看 | jizjiz中国少妇高潮水多 | 无码人妻精品一区二区蜜桃视频 | 超碰97在线播放 | 天天干天天干天天操 | 久久精品一区二 | 国产精品一区在线播放 | 91视频免费播放 | 欧洲精品一区 | 日韩一二三级 | 日本少妇久久久 | 美女撒尿无遮挡网站 | 特级毛片在线 | 国产日韩视频在线观看 | 国产欧美日韩高清 | 久久91| 成人激情综合网 | 亚洲二区在线视频 | 大陆av在线 | 毛色毛片 | 大肉大捧一进一出好爽动态图 | 欧美日韩精品中文字幕 | 爱情岛论坛永久入口 | 毛片库| 日日骚一区| av无码精品一区二区三区宅噜噜 | 国产女人高潮毛片 | 婷婷在线综合 | 永久av免费在线观看 | 波多野结衣一区二区三区免费视频 | 在线视频精品 | 人妻换人妻a片爽麻豆 | 中文字幕无码毛片免费看 | 亚洲另类色综合网站 | 欧美疯狂做受xxxxx高潮 | 久久久久亚洲av无码a片 | 日本不卡专区 | 大色网小色网 | 成年人激情网 | 免费特级黄毛片 | 福利视频不卡 | 黄色片免费播放 | 色就是色亚洲色图 | 一级免费大片 | 玖草视频在线观看 | 国产精品无码午夜福利 | 精品黄色一级片 | 人妻视频一区二区 | 欧美xxxxxxxxx | 国产精品中文久久久久久 | 26uuu欧美日本| 四川丰满妇女毛片四川话 | 精品国产视频在线 | www.爱色av.com | 动漫大乳美女 | 女人的洗澡毛片毛多 | 狠狠爱夜夜操 | 国产在线拍揄自揄拍 | 亚洲一级片 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲一二三 | 男人深夜影院 | 美女二区| 精品人妻一区二区三区日产乱码卜 | 人人射人人干 | 亚洲手机av | julia一区二区三区在线观看 | 日韩欧美在线不卡 | 超碰福利在线观看 | 国产精品国产三级国产普通话蜜臀 | 最新永久地址 | 最新毛片网站 | 99re热视频| 午夜桃色 | 成人免费看片在线观看 | 国产精品系列在线观看 | 在线精品自拍 | 国产黄色a | 日韩性网站| 欧美污视频 | 日本一区视频在线播放 | 日韩中文字幕一区二区 | 牛牛精品一区二区 | 免费黄色激情视频 | 一区二区视频免费 | 一本大道伊人av久久综合 | 精品一二三四区 | 免费黄色小视频在线观看 | 成年人高清视频 | 99久久久无码国产精品性色戒 | 丰满女人又爽又紧又丰满 | 欧美日韩国产精品成人 |