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

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

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

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

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
国产视频在线一区二区| 国产日韩欧美黄色| 最近免费中文字幕视频2019| 啪一啪鲁一鲁2019在线视频| 51精品国产黑色丝袜高跟鞋| 在线不卡国产精品| 日韩精品久久久久久福利| 国产精品r级在线| 亚洲免费福利视频| 国产精品第一区| 国产精品日日摸夜夜添夜夜av| 精品丝袜一区二区三区| 亚洲欧美综合区自拍另类| 亚洲国产欧美一区二区三区同亚洲| 亚洲一区中文字幕在线观看| 久久精品91久久香蕉加勒比| 欧美黄色三级网站| 97精品一区二区视频在线观看| 欧美性猛交xxxx黑人| 在线观看精品国产视频| 亚洲国产精品久久久久久| 日本在线精品视频| 国产91对白在线播放| 国产69久久精品成人| 这里只有精品在线观看| 欧美午夜无遮挡| 性欧美亚洲xxxx乳在线观看| 97视频在线观看免费| 欧美日韩国产限制| 日韩视频免费在线观看| 欧美日韩中国免费专区在线看| 91久久精品国产91久久性色| 国产日产欧美精品| 国产精品免费观看在线| 久久亚洲影音av资源网| www.日本久久久久com.| 欧美在线视频在线播放完整版免费观看| 欧美激情2020午夜免费观看| 国产精品美女av| 欧美视频精品一区| 欧美成人精品在线视频| 日韩一区二区av| 亚洲色图美腿丝袜| 久久影视电视剧免费网站| www.色综合| 日韩免费av一区二区| 91亚洲精品久久久| 日韩视频―中文字幕| 亚洲欧美www| 伊人一区二区三区久久精品| 国产精品永久免费| 亚洲成成品网站| 亚洲精品视频二区| 国产欧美最新羞羞视频在线观看| 亚洲欧美在线看| 高清日韩电视剧大全免费播放在线观看| 亚洲一二三在线| 久久精品国产免费观看| 国产在线高清精品| 亚洲成人在线网| 国产精品电影网站| 国产美女主播一区| 国产精品一区二区三区成人| 国产精品一区二区三区久久久| 国内精品久久久久| 亚洲色图美腿丝袜| 国内精品久久久久久久| 日韩电影中文字幕av| 大胆欧美人体视频| 亚洲电影免费观看高清完整版在线| 亚洲精品视频久久| 欧美福利视频网站| 深夜福利日韩在线看| 丝袜一区二区三区| 国产91精品视频在线观看| 久久久久久高潮国产精品视| 精品一区精品二区| 国产精品无码专区在线观看| 亚洲国产欧美一区二区三区久久| 精品动漫一区二区| 日韩亚洲欧美成人| 亚洲综合精品一区二区| 久久国产精品久久久久久| 亚洲一区二区三区毛片| 一区二区三区精品99久久| 97精品视频在线| 日韩国产中文字幕| 日韩免费观看视频| 欧美一二三视频| 日本不卡高字幕在线2019| 欧美制服第一页| 精品二区三区线观看| 97人人模人人爽人人喊中文字| 国产精品第100页| 日本高清视频精品| 中文字幕亚洲色图| 久久久久久久一区二区| 91色在线观看| 欧美成人亚洲成人日韩成人| 国产日韩中文字幕在线| 国产在线高清精品| 富二代精品短视频| 久久伊人精品视频| 日韩影视在线观看| 日韩在线免费高清视频| 欧美夜福利tv在线| 国产精品男女猛烈高潮激情| 韩剧1988免费观看全集| 国产精品久久久久久久久久久不卡| 久久久久久久亚洲精品| 国内自拍欧美激情| 欧美人与物videos| 国产综合视频在线观看| 精品成人乱色一区二区| 日韩激情第一页| 久久久久久久91| 国产精品第二页| 国产精品久久久久91| 欧美与欧洲交xxxx免费观看| 高清日韩电视剧大全免费播放在线观看| www.亚洲人.com| 亚洲欧美国产精品va在线观看| 亚洲理论在线a中文字幕| 国产成人免费av电影| 在线日韩第一页| 第一福利永久视频精品| 国产欧美在线视频| 欧美在线免费视频| 久久久久女教师免费一区| 精品伊人久久97| 亚洲情综合五月天| 国产香蕉97碰碰久久人人| 亚洲aⅴ男人的天堂在线观看| 91精品国产自产91精品| 欧美性xxxx极品hd欧美风情| 欧美日韩中文字幕综合视频| 亚洲3p在线观看| 红桃视频成人在线观看| 久久九九亚洲综合| 在线观看视频亚洲| 97在线视频免费看| 国产精品人人做人人爽| 成人精品一区二区三区电影免费| 97在线观看免费| 中文字幕亚洲欧美日韩在线不卡| 91精品一区二区| 久久大大胆人体| 91精品国产自产在线观看永久| 亚洲精品久久久一区二区三区| 日韩免费在线电影| 欧美激情视频一区二区三区不卡| 中文字幕欧美日韩va免费视频| 中文字幕久久久| 日韩精品极品视频免费观看| 亚洲无线码在线一区观看| 日本19禁啪啪免费观看www| 韩日精品中文字幕| 国产成人精品一区二区| 欧美成人精品在线视频| 国产69久久精品成人看| 国产精品久久久久av| 亚洲韩国青草视频| 欧美尺度大的性做爰视频| 亚洲综合小说区|