亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ZJOI 2011 最小割 分治

2019-11-10 17:46:33
字體:
來源:轉載
供稿:網友

題目鏈接:bzoj點我:-) 洛谷點我:-) 題目描述: 小白在圖論課上學到了一個新的概念——最小割,下課后小白在筆記本上寫下了如下這段話: ”對于一個圖,某個對圖中結點的劃分將圖中所有結點分成兩個部分,如果結點s,t不在同一個部分中,則稱這個劃分是關于s,t的割。 對于帶權圖來說,將所有頂點處在不同部分的邊的權值相加所得到的值定義為這個割的容量,而s,t的最小割指的是在關于s,t的割中容量最小的割“ 現給定一張無向圖,小白有若干個形如”圖中有多少對點它們的最小割的容量不超過x呢“的疑問,小藍雖然很想回答這些問題,但小藍最近忙著挖木塊,于是作為仍然是小藍的好友,你又有任務了。

輸入格式: 輸入文件第一行有且只有一個正整數T,表示測試數據的組數。 對于每組測試數據, 第一行包含兩個整數n,m,表示圖的點數和邊數。 下面m行,每行3個正整數u,v,c(1<=u,v<=n,0<=c<=106),表示有一條權為c的無向邊(u,v) 接下來一行,包含一個整數q,表示詢問的個數 下面q行,每行一個整數x,其含義同題目描述。

輸出格式: 對于每組測試數據,輸出應包括q行,第i行表示第i個問題的答案。對于點對(p,q)和(q,p),只統計一次(見樣例)。兩組測試數據之間用空行隔開。

思路: 最小割樹的裸題。(入門的講解) 最小割樹性質:若不考慮多個最小割的情況,設S1-T1的最小割割集為C1,S2-T2的最小割割集為C2,則C1,C2必然不會相互跨立,這個結論可通過反證法得到(是可以感性證明一下的)。 它們構成了一棵最小割樹,每次挑兩個點算MInCut分成兩個集合分治算即可,最小割數目不超過n?1

所以Dinic+分治,但是isap不知道為什么RE了(爆棧?)。。

感想: 又一次深夜刷的題。。昨天1點多鐘還在WA,整個人都不好了,早上發現。。居然忘了在跟新答案時賦成雙向。(論剛開始連題目都沒看懂并且不知道割是什么的我。。好吧割集是刪掉這個集合中的任意一條邊,會使那兩個點不聯通) 終于又有動力做題了,終于知道看到別人刷題記錄時的強大動力了>-<

代碼

//miaomiao 2017.2.8#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>using namespace std;#define Set(a, v) memset(a, v, sizeof(a))#define For(i, a, b) for(int i = (a); i <= (int)(b); i++)#define N (150+5)#define M (6000+5)#define INF 0x3f3f3f3fstruct Dinic{ int Begin[N], Next[M], to[M], cap[M], flow[M]; int cur[N], d[N], n, e, s, t; void init(){e = 1; Set(Begin, 0);} void clearflow(){Set(flow, 0);} void AddEdge(int u, int v, int w){ cap[++e] = w; to[e] = v; Next[e] = Begin[u]; Begin[u] = e; } bool Bfs(){ Set(d, 0); queue<int> q; q.push(s); int now; d[s] = 1; while(!q.empty()){ now = q.front(); q.pop(); for(int i = Begin[now]; i; i = Next[i]) if(cap[i] > flow[i] && !d[to[i]]){d[to[i]] = d[now]+1; q.push(to[i]);} } return d[t]; } int Dfs(int now, int minf){ if(now==t || minf <= 0) return minf; int v, f, ret = 0; for(int &i = cur[now]; i; i = Next[i]){ v = to[i]; if(d[v]==d[now]+1 && (f=Dfs(v, min(minf, cap[i]-flow[i])))>0){ ret += f; minf -= f; flow[i] += f; flow[i^1] -= f; if(minf <= 0) return ret; } } return ret; } int MinCut(int ss, int tt){ s = ss; t = tt; int ret = 0; while(Bfs()){ For(i, 1, n) cur[i] = Begin[i]; ret += Dfs(s, INF); } return ret; }}Din;int n, cut[N][N], id[N], tmp[N];void solve(int L, int R){ if(L == R) return; Din.clearflow(); int flow = Din.MinCut(id[L], id[R]), l = L, r = R; For(i, 1, n) if(Din.d[i]) For(j, 1, n) if(!Din.d[j]) cut[i][j] = cut[j][i] = min(cut[i][j], flow); For(i, L, R) tmp[Din.d[id[i]]? l++: r--] = id[i]; For(i, L, R) id[i] = tmp[i]; solve(L, r); solve(l, R);}int main(){ int T, m, u, v, w, q, x, ans; scanf("%d", &T); while(T--){ Din.init(); scanf("%d%d", &n, &m); Din.n = n; For(i, 1, m){ scanf("%d%d%d", &u, &v, &w); Din.AddEdge(u, v, w); Din.AddEdge(v, u, w); } For(i, 1, n) id[i] = i; Set(cut, INF); solve(1, n); scanf("%d", &q); while(q--){ scanf("%d", &x); ans = 0; For(i, 1, n) For(j, i+1, n) if(cut[i][j] <= x) ans++;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97香蕉超级碰碰久久免费的优势| 亚洲高清福利视频| 国产精品美女www爽爽爽视频| 国产成人精品综合久久久| 精品久久久久久久大神国产| 国产亚洲aⅴaaaaaa毛片| 亚洲成人av资源网| 91精品国产91久久久久久最新| 91精品久久久久久久久久另类| 国产欧美一区二区白浆黑人| 97视频在线免费观看| 亚洲最大成人在线| 亚洲另类激情图| 欧美激情一区二区三区高清视频| 亚洲国产私拍精品国模在线观看| 久久久久中文字幕2018| 欧美精品中文字幕一区| 日韩美女主播视频| 国产一区二区视频在线观看| 亚洲国产精彩中文乱码av在线播放| 亚洲伦理中文字幕| 91精品久久久久久久久中文字幕| 成人深夜直播免费观看| 国产视频丨精品|在线观看| 国产欧美一区二区白浆黑人| 国产午夜精品免费一区二区三区| 久久久97精品| 中文字幕精品www乱入免费视频| 亚洲乱码一区av黑人高潮| 91老司机精品视频| 成人黄色免费在线观看| 欧美黑人巨大精品一区二区| 亚洲第一精品夜夜躁人人爽| 78m国产成人精品视频| 国产中文日韩欧美| 色诱女教师一区二区三区| 欧美孕妇孕交黑巨大网站| 国产精品久久久久7777婷婷| 国产激情久久久久| 97精品久久久| 国产精品99久久久久久久久| 麻豆精品精华液| 欧美激情一二区| 欧美怡红院视频一区二区三区| 国模gogo一区二区大胆私拍| 亚洲美女又黄又爽在线观看| 精品亚洲永久免费精品| 国产精品福利在线观看网址| 成人黄在线观看| 欧美孕妇孕交黑巨大网站| 欧美大片网站在线观看| 国产精品18久久久久久麻辣| 久99九色视频在线观看| 亚洲最新av在线| 欧美裸体xxxx极品少妇软件| 国产原创欧美精品| 亚洲最大av网站| 欧美精品videos另类日本| 欧美性开放视频| 欧美激情乱人伦一区| 欧美性高潮在线| 欧美在线一区二区视频| 国产精品国产三级国产专播精品人| 91在线免费观看网站| 日韩欧美在线中文字幕| 亚洲精品国产福利| 日韩麻豆第一页| 全球成人中文在线| 日韩精品一区二区视频| 精品无人区太爽高潮在线播放| 一本大道久久加勒比香蕉| 欧美激情一区二区三区久久久| 国产高清在线不卡| 欧美精品18videos性欧美| 超薄丝袜一区二区| 成人黄色av免费在线观看| 国产精品久久精品| 日韩中文字幕国产| xx视频.9999.com| 91亚洲国产成人久久精品网站| 欧美精品免费看| 日韩国产中文字幕| 日韩av网站大全| 亚洲欧美色图片| 97国产精品人人爽人人做| 国产午夜精品麻豆| 亚洲伦理中文字幕| 国产日韩在线一区| 欧美激情xxxxx| 欧美高跟鞋交xxxxxhd| 全亚洲最色的网站在线观看| 国产一区二区三区中文| 精品一区精品二区| 色狠狠av一区二区三区香蕉蜜桃| 国产精品高清在线观看| 欧美一区二区三区图| 亚洲最大av网站| 丝袜情趣国产精品| 91精品久久久久久久久青青| 色多多国产成人永久免费网站| 亚洲japanese制服美女| 国产精品网址在线| 精品福利一区二区| 亚洲丁香久久久| 国产精品视频一| 一本久久综合亚洲鲁鲁| 久久免费精品视频| 国产a级全部精品| 久久中文字幕一区| 日韩69视频在线观看| 2024亚洲男人天堂| 国产日韩一区在线| 欧美精品久久久久a| 亚洲成人黄色在线观看| 亚洲国产一区二区三区在线观看| 中文在线资源观看视频网站免费不卡| 成人黄色免费片| 亚洲免费伊人电影在线观看av| 在线丨暗呦小u女国产精品| 日韩成人性视频| 日韩中文字幕欧美| 欧美超级免费视 在线| 欧美成人精品激情在线观看| 亚洲欧美制服丝袜| 亚洲精品国产精品久久清纯直播| 成人黄色大片在线免费观看| 人九九综合九九宗合| 欧美精品18videos性欧美| 国产亚洲一区二区在线| 午夜精品美女自拍福到在线| 日韩在线视频免费观看高清中文| 中文字幕免费国产精品| 久久男人资源视频| 69影院欧美专区视频| 91中文精品字幕在线视频| 狠狠躁夜夜躁人人爽超碰91| 国语自产精品视频在线看一大j8| 91精品国产综合久久香蕉的用户体验| 国产在线98福利播放视频| 亚洲精品视频免费在线观看| 久久久精品在线观看| 色yeye香蕉凹凸一区二区av| 欧美韩日一区二区| 国产欧美日韩中文| 亚洲欧美日韩国产成人| 亚洲系列中文字幕| 欧美激情一区二区久久久| 欧美成人午夜激情视频| 国产一区二区丝袜| 精品久久久av| 国内精品在线一区| 一区二区在线视频| 国产日韩欧美91| 成人黄色在线免费| 国产一区二区三区中文| 欧美在线视频观看| 色av中文字幕一区| 亚洲视频在线免费看| 在线观看国产精品日韩av| 精品国模在线视频| 国产精品青青在线观看爽香蕉| 91亚洲精品久久久| 亚洲欧美日韩久久久久久| 国产精品久久不能|