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

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

HDU 3861 Tarjan + 縮點 + 最小路徑覆蓋

2019-11-14 09:56:02
字體:
來源:轉載
供稿:網友

The King’s PRoblem

Time Limit: 2000/1000 MS (java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2685    Accepted Submission(s): 978Problem DescriptionIn the Kingdom of Silence, the king has a new problem. There are N cities in the kingdom and there are M directional roads between the cities. That means that if there is a road from u to v, you can only go from city u to city v, but can’t go from city v to city u. In order to rule his kingdom more effectively, the king want to divide his kingdom into several states, and each city must belong to exactly one state. What’s more, for each pair of city (u, v), if there is one way to go from u to v and go from v to u, (u, v) have to belong to a same state. And the king must insure that in each state we can ether go from u to v or go from v to u between every pair of cities (u, v) without passing any city which belongs to other state.  Now the king asks for your help, he wants to know the least number of states he have to divide the kingdom into. InputThe first line contains a single integer T, the number of test cases. And then followed T cases. The first line for each case contains two integers n, m(0 < n <= 5000,0 <= m <= 100000), the number of cities and roads in the kingdom. The next m lines each contains two integers u and v (1 <= u, v <= n), indicating that there is a road going from city u to city v. OutputThe output should contain T lines. For each test case you should just output an integer which is the least number of states the king have to divide into. Sample Input
13 21 21 3 Sample Output
2 題意是將一些點劃分區域,同時有兩個規定:1.若有u,v兩個點,u->v且v->u 即n,v兩點可以互相到達形成環,則一定分在同一區域思路:Tarjan求強連通分量然后縮點。2.在同一區域的任意兩點至少存在一條路徑可以相互到達,即(設同一區域兩點u,v)有u->v或 v->u。思路:二分圖,很明顯是最小路徑覆蓋,縮點后建新圖,跑個匈牙利得到最大匹配 ans,結果就為: 縮點后的點數 num 減去 ans。代碼:
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int INF = 1e8;const int maxn = 5010;vector<int> G[maxn],G2[maxn];int low[maxn],dfn[maxn]; int vis[maxn],instack[maxn],point[maxn],match[maxn];int n,tot,num;stack<int> S;void init(void){    tot = num = 0;    for(int i=0 ;i<=n ;i++){        G[i].clear();        G2[i].clear();        match[i] = -1;        low[i] = dfn[i] = 0;        vis[i] = instack[i] = point[i] = 0;    }    while(S.size())    S.pop();}void Tarjan(int x){    low[x] = dfn[x] = tot++;    vis[x] = instack[x] = 1;    S.push(x);    for(int i=0 ;i<G[x].size();i++){        int v = G[x][i];        if(!vis[v]){            Tarjan(v);            low[x] = min(low[x],low[v]);        }        else if(instack[v]){            low[x] = min(low[x],dfn[v]);        }    }    if(low[x] == dfn[x]){        while(1){            int t = S.top();            S.pop();            instack[t] = 0;            point[t] = num;             if(t == x)    break;        }        num++;    }}bool find(int x){	for(int i=0 ;i<G2[x].size() ;i++){		int t = G2[x][i];		if(!vis[t]){			vis[t] = 1;			if(match[t] == -1 || find(match[t])){				match[t] = x;				return true;			}		}		}	return false;}int main(){   	int T;   	scanf("%d",&T);   	while(T--){		int m;		scanf("%d%d",&n,&m);		init();   		while(m--){   			int x,y;			scanf("%d%d",&x,&y);			G[x].push_back(y);			}		for(int i=1 ;i<=n ;i++){			if(!vis[i]){				Tarjan(i);			}		}		for(int i=1 ;i<=n ;i++){			for(int j=0 ;j<G[i].size() ;j++){				if(point[i] != point[G[i][j]]){					G2[point[i]].push_back(point[G[i][j]]);				}			}		}		int ans = 0;		for(int i=0 ;i<num ;i++){			memset(vis,0,sizeof(vis));			if(find(i))				ans++;		}		cout << num-ans << endl;			}    return 0;}  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情国产日韩精品一区18| 91精品国产综合久久香蕉的用户体验| 亚洲国产精品99| 亚洲男人的天堂在线播放| 国产一区二区三区欧美| 日韩在线欧美在线国产在线| 欧美高清视频免费观看| 欧美特级www| 精品国产一区二区三区久久狼5月| 亚洲成人激情视频| 日韩小视频网址| 日韩av在线网| 中文字幕精品国产| 欧美性猛交xxxx乱大交蜜桃| 中文字幕日韩在线视频| 亚洲欧美中文字幕在线一区| 亚洲精品乱码久久久久久金桔影视| 亚洲人精选亚洲人成在线| 97人人爽人人喊人人模波多| 亚洲自拍偷拍在线| 日韩免费高清在线观看| 国产精品网站大全| 日韩在线观看免费高清| 中文字幕日韩av| 欧美激情在线有限公司| 中文字幕在线日韩| 欧美性极品xxxx做受| 国产福利精品视频| 在线a欧美视频| 性欧美暴力猛交69hd| 91成人在线观看国产| 日av在线播放中文不卡| 亚洲天堂av在线免费观看| 日韩黄色在线免费观看| 欧美日韩国产激情| 精品国产欧美成人夜夜嗨| 亚洲欧美一区二区三区在线| 国产亚洲精品一区二区| 日韩激情视频在线播放| 91中文精品字幕在线视频| 亚洲第一男人天堂| 日韩欧美在线国产| 亚洲欧美日本另类| 欧美激情精品久久久| 欧美日韩成人在线观看| 欧美中文字幕视频| 成人信息集中地欧美| 黑人精品xxx一区一二区| 欧美日韩中文在线观看| 久久久亚洲精品视频| 91精品久久久久久久久青青| 国产精品久久久久久影视| 国产欧美久久久久久| 人人澡人人澡人人看欧美| 久久久久国产一区二区三区| 美女黄色丝袜一区| 亚洲精品mp4| 97免费视频在线播放| 久久久影视精品| 国产xxx69麻豆国语对白| 国产一区二区三区欧美| 啪一啪鲁一鲁2019在线视频| 日韩在线观看免费av| 国产视频久久久| 另类色图亚洲色图| 亚洲91精品在线观看| 亚洲第一精品夜夜躁人人躁| 成人乱人伦精品视频在线观看| 欧美日韩国产精品一区二区三区四区| 久久久久99精品久久久久| 日韩免费观看视频| 欧美第一黄色网| 国产精品一区二区久久| 亚洲欧美精品在线| 国产美女精品视频| 欧美日韩在线视频一区二区| 久久亚洲综合国产精品99麻豆精品福利| 亚洲va电影大全| 久久综合亚洲社区| 久久天天躁夜夜躁狠狠躁2022| 色婷婷综合成人av| 美女少妇精品视频| 91久久久久久国产精品| 91精品国产成人www| 日韩视频免费看| 亚洲最大成人免费视频| 日韩av成人在线观看| 91色视频在线导航| 国产精品视频区| 久久不射电影网| 欧美富婆性猛交| 亚洲精品视频免费在线观看| 欧美天堂在线观看| 亚洲人成电影网站色| 国产精品一区二区久久久久| 日韩成人在线视频| 在线免费观看羞羞视频一区二区| 日韩人体视频一二区| 国产一区二区三区中文| 青青久久av北条麻妃黑人| 亚洲国产古装精品网站| 97久久超碰福利国产精品…| 国产精品一区二区三| 自拍偷拍亚洲在线| 国内伊人久久久久久网站视频| 日韩亚洲欧美中文在线| 国产精品91久久久久久| 午夜精品福利视频| 久久久欧美精品| 亚洲综合第一页| 久99九色视频在线观看| 国产在线精品一区免费香蕉| 亚洲已满18点击进入在线看片| 日韩欧美一区二区三区| 激情亚洲一区二区三区四区| 91在线免费观看网站| 久久久久久美女| 欧美高清不卡在线| 91精品国产91久久久久| 成人av.网址在线网站| 成人在线视频网站| 欧美另类老肥妇| 欧美自拍视频在线观看| 中文字幕国产日韩| 亚洲国产精久久久久久久| 欧美亚洲成人免费| 国产91色在线| 亚洲午夜国产成人av电影男同| 国产精品一区电影| 欧美极品美女电影一区| 日韩av在线免费播放| 91精品国产综合久久香蕉最新版| 亚洲一区美女视频在线观看免费| 在线观看精品国产视频| 97在线精品国自产拍中文| 欧美高清性猛交| 日韩av免费观影| 亚洲毛片一区二区| 国产一区二区三区欧美| 成人精品久久久| 国产精品igao视频| 亚洲精品97久久| 日韩av在线影院| 欧美视频第一页| 日韩av在线网页| 亚洲免费一级电影| 欧美大码xxxx| 色婷婷av一区二区三区久久| 日韩精品小视频| 国产视频福利一区| 国产午夜精品一区理论片飘花| 色噜噜狠狠狠综合曰曰曰88av| 亚洲xxxxx| 日韩成人中文字幕在线观看| 亚洲精品电影久久久| 午夜精品三级视频福利| 久久久久国产精品免费网站| 国产激情999| 久久成年人免费电影| 亚洲人成伊人成综合网久久久| 亚洲第一中文字幕| 91中文字幕在线观看| 亚洲国产精品va在线看黑人动漫| 久久久久久91香蕉国产|