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

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

ZJOI2011最小割 最小割樹

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

題目描述

小白在圖論課上學到了一個新的概念——最小割,下課后小白在筆記本上寫下了如下這段話: ”對于一個圖,某個對圖中結點的劃分將圖中所有結點分成兩個部分,如果結點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),只統計一次(見樣例)。兩組測試數據之間用空行隔開。

分析: 1.貌似這類要求的東西很多的題目都往分治方面去想。 2.設S1-T1的割集為C1,S2-T2的割集為C2,則,C1和C2必定不是跨立的(一定為包含關系或沒有交集)。那么一共就只有n-1個本質不同的割。 3.所以我們的具體做法是分治處理——先任意取S和T做網絡流,那么原圖就分成了與S相連的部分S’和與T相連的部分T’,此時分別在S’T’中的點對的最小割就是S和T的最小割。再遞歸并更新答案即可。 4.注意在每次網絡流之前一定要把網絡還原為初始網絡。

#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>using namespace std;const int maxn=160;const int maxm=6100;const int INF=1e9;int to[maxm],Next[maxm],Begin[maxn],w[maxm],e;int dis[maxn],gap[maxn],d[maxn];int n,m;int S,T,tot;void add(int x,int y,int z){ to[++e]=y; Next[e]=Begin[x]; Begin[x]=e; w[e]=z;}bool bfs(){ memset(dis,0,sizeof(dis)); queue<int>q; q.push(S);dis[S]=1; int v; while(!q.empty()){ int u=q.front();q.pop(); for(int i=Begin[u];i;i=Next[i])if(w[i]>0 && (!dis[v=to[i]])){ dis[v]=dis[u]+1; q.push(v); } } return dis[T];}int cur[maxn];int dfs(int x,int flow){ if(x==T) return flow; int v,tmp,ret=0; for(int &i=cur[x];i;i=Next[i]){if(w[i]>0 && dis[v=to[i]]==dis[x]+1) if((tmp=dfs(v,min(flow,w[i])))){ w[i]-=tmp;w[i^1]+=tmp; flow-=tmp;ret+=tmp; } if(!flow) return ret; } return ret;}int cut[maxn][maxn];int Maxflow(int s,int t){ S=s,T=t; int maxflow=0; while(bfs()){ for(int i=1;i<=n;i++) cur[i]=Begin[i]; maxflow+=dfs(S,INF); } return maxflow;}int id[maxn],tmp[maxn];int w1[maxm];void solve(int L,int R){ if(L==R) return; for(int i=2;i<=e;i++) w[i]=w1[i]; int ret=Maxflow(id[L],id[R]),l=L,r=R; for(int i=1;i<=n;i++)if(dis[i]){ for(int j=1;j<=n;j++)if(!dis[j]) cut[i][j]=cut[j][i]=min(cut[i][j],ret); } for(int i=L;i<=R;i++) tmp[dis[id[i]]?l++:r--]=id[i]; for(int i=L;i<=R;i++) id[i]=tmp[i]; solve(L,r);solve(l,R);}int main(){ int kase; scanf("%d",&kase); while(kase--){ e=1; scanf("%d%d",&n,&m); memset(Begin,0,sizeof(Begin)); for(int i=1;i<=n;i++) id[i]=i; for(int i=1;i<=m;i++){ int u,v,c; scanf("%d%d%d",&u,&v,&c); add(u,v,c);add(v,u,c); } for(int i=2;i<=e;i++) w1[i]=w[i]; memset(cut,0x7f,sizeof(cut)); solve(1,n); int q; scanf("%d",&q); while(q--){ int p,ans=0; scanf("%d",&p); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) if(cut[i][j]<=p) ans++; ^_^


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文字幕在线观看| 成人性生交大片免费看小说| 国产免费一区二区三区在线观看| 久久久精品一区二区| 国产精品久久久久久av下载红粉| 91人成网站www| 日韩欧美在线视频观看| 欧美激情精品久久久久久免费印度| 亚洲欧美日韩区| 亚洲网站在线看| www.日韩视频| 69久久夜色精品国产7777| 欧美精品在线免费观看| 狠狠综合久久av一区二区小说| 亚洲国产精品网站| 国产一区二区三区日韩欧美| 97色在线观看| 91精品国产九九九久久久亚洲| 欧美精品在线免费| 国产精品永久免费视频| 亚洲美女久久久| 亚洲国产精品悠悠久久琪琪| 久久精品久久久久久| 亚洲一区二区自拍| 日韩网站在线观看| 国产视频精品一区二区三区| 欧美激情一区二区三级高清视频| 国产精品久久久久久久久久免费| 亚洲自拍偷拍第一页| 亚洲国产精品中文| 国产不卡精品视男人的天堂| 久久九九精品99国产精品| 国产女精品视频网站免费| 国产a级全部精品| 日韩视频在线免费观看| 亚洲影影院av| 美女999久久久精品视频| 国产精品久久久久久久美男| 国产suv精品一区二区三区88区| 裸体女人亚洲精品一区| www日韩中文字幕在线看| 欧美怡红院视频一区二区三区| 日韩av电影手机在线| 日韩美女免费线视频| 在线精品国产成人综合| 亚洲精品成a人在线观看| 日韩成人网免费视频| 中文字幕国产亚洲2019| 不卡av日日日| 色妞色视频一区二区三区四区| 深夜福利亚洲导航| 国产精品精品视频| 久久成人人人人精品欧| 亚洲男女性事视频| 国产精品第100页| 亚洲欧洲免费视频| 91国产高清在线| 国产精品免费久久久久影院| 国产精品久久久久久网站| 国产精品视频久久久久| 欧美性猛交xxxx乱大交蜜桃| 国产精品美女无圣光视频| 一区二区欧美日韩视频| 亚洲最大福利网站| 欧美理论电影在线观看| 欧美黄色三级网站| 国产精品福利久久久| 欧美性视频网站| 久久视频在线看| 97超级碰在线看视频免费在线看| 亚洲小视频在线观看| 日韩av免费在线看| 97超级碰在线看视频免费在线看| 色综合色综合久久综合频道88| 欧美激情在线有限公司| 在线电影av不卡网址| 日韩精品视频在线| 精品久久久香蕉免费精品视频| 亚洲一区二区免费在线| 国产成人拍精品视频午夜网站| 久久精视频免费在线久久完整在线看| 久久人91精品久久久久久不卡| 久久久久久久999精品视频| 午夜精品免费视频| 亚洲一区二区三区四区在线播放| 九九热r在线视频精品| 日韩va亚洲va欧洲va国产| 亚洲最大成人在线| 国产精品久久在线观看| 精品亚洲男同gayvideo网站| 国产在线999| 在线日韩第一页| 欧美黑人巨大xxx极品| 日韩av最新在线观看| 美女国内精品自产拍在线播放| 国产精品青草久久久久福利99| 91在线高清免费观看| 国产成人综合av| 国产精品精品一区二区三区午夜版| 国产成人精品日本亚洲专区61| 色综合影院在线| 精品国产成人av| 国产精品丝袜久久久久久不卡| 亚洲国产精品久久久久秋霞不卡| 少妇高潮久久久久久潘金莲| 91在线精品播放| 精品人伦一区二区三区蜜桃免费| 高清在线视频日韩欧美| 久久99国产精品久久久久久久久| 欧美一级淫片丝袜脚交| 中国日韩欧美久久久久久久久| 国产91精品最新在线播放| 69久久夜色精品国产69乱青草| 国产精品毛片a∨一区二区三区|国| 亚洲字幕一区二区| 中文字幕不卡在线视频极品| 国产精品美女主播| 亚洲毛片在线观看.| 欧美国产日本高清在线| 国产成人福利视频| 久久久精品久久久| 精品国产欧美一区二区五十路| 久久在线观看视频| 久久久久久久网站| 51久久精品夜色国产麻豆| 亚洲国产精品yw在线观看| 欧美一区二区三区免费观看| 北条麻妃一区二区在线观看| 色噜噜狠狠狠综合曰曰曰| 久久精品久久久久久国产 免费| 亚洲91精品在线观看| 国产精品久久久久aaaa九色| 欧美一级视频一区二区| 国产亚洲a∨片在线观看| 91精品啪在线观看麻豆免费| 黑人巨大精品欧美一区免费视频| 岛国av一区二区三区| 国产精品久久久久久av下载红粉| 成人免费看吃奶视频网站| 亚洲午夜久久久影院| 久久99久久久久久久噜噜| 国产精品对白刺激| 亚洲另类激情图| 国产精品美女www| 亚洲第一精品夜夜躁人人躁| 有码中文亚洲精品| 欧美日韩国产123| 亚洲欧美日韩国产中文| 久久久精品一区二区| 69**夜色精品国产69乱| 91爱视频在线| 久久频这里精品99香蕉| 久久久久久成人| 国产精品久久99久久| 国产丝袜一区视频在线观看| 日韩精品免费在线| 午夜欧美大片免费观看| 久久久成人的性感天堂| 亚洲欧美日韩国产中文| 亚洲风情亚aⅴ在线发布| 88国产精品欧美一区二区三区| 亚洲sss综合天堂久久| 欧美日韩视频在线| 亚洲男女自偷自拍图片另类|