图论 - 连通性问题
文章平均质量分 65
Napoleon2004
这个作者很懒,什么都没留下…
展开
-
HDU 1269 迷宫城堡
Problem Description为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,...原创 2018-03-31 13:52:53 · 114 阅读 · 0 评论 -
POJ 1144 Network
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,ans,index,fat[110],low[110],dfn[110],a[110][110]; bool b[110]; void tarjan(...原创 2018-03-31 14:22:55 · 122 阅读 · 0 评论 -
POJ 2186
总结:通过这道题,又熟悉了一次Tarjan算法。中间遇到一次错误,在缩点以后计算出度的时候,误把强连通分量内部边的出度计算在内了,导致出度的量错误地增加了很多。更正以后,就AC了。#include<stack> #include<vector> #include<cstdio> #include<cstring> using namespace st...原创 2018-05-01 16:30:36 · 138 阅读 · 0 评论 -
POJ 3352
总结:复习了一次无向图的割边,自己写完以后再看书上的代码,发现它的简洁很多,不需要tarjan两次,还学会了如何更快捷的缩点。#include<stack> #include<vector> #include<cstdio> #include<cstring> using namespace std; const int M=10010; int n...原创 2018-05-01 19:45:39 · 176 阅读 · 0 评论 -
POJ 1236 Network of Schools
#include<cstdio> #include<vector> #include<stack> #include<algorithm> using namespace std; const int M=110; stack<int>s; vector<int>a[M]; int l,index; int cd[M],rd[...原创 2018-04-26 22:20:10 · 128 阅读 · 0 评论 -
POJ 1308 Is It A Tree?
#include<cstdio> #include<map> #include<vector> #include<cstring> #include<cstdlib> using namespace std; const int M=110; map<int,int>mp; vector<int>a[M]; boo原创 2018-05-07 10:02:13 · 110 阅读 · 0 评论 -
BZOJ 2140 稳定婚姻
#include<bits/stdc++.h> using namespace std; const int N=10000; stack<int>s; map<string,int>mp; vector<int>a[N]; bool c[N]; int t,ind,dfn[N],low[N],kind[N]; struct node{ in...原创 2018-05-23 22:26:44 · 125 阅读 · 0 评论 -
HDU 3694 Network
#include<cstdio> #include<stack> #include<cstring> using namespace std; const int M=100010; int l,l2,type,index,bridge; struct node{ int d,next; }edge[4*M],edge2[4*M]; stack<int&...原创 2018-06-21 16:23:53 · 180 阅读 · 0 评论