随笔分类 - 并查集
摘要:1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 #define maxn 1005 6 int fa[maxn],degree[maxn]; 7 8 int findfather(int x) 9 {10 if(fa[x]!=x)11 fa[x]=findfather(fa[x]);12 return fa[x];13 }14 void init(int n)15 {16 int i;17 memset(degree...
阅读全文
摘要:/*一道坑爹的水题,表示,你只要判断边数和点数之间的关系是不是edge+1=node,再用并查集判断环就ac了*/#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define maxn 100005int fa[maxn];bool vis[maxn];void init(){ int i; for(i=0;i<maxn;i++) fa[i]=i;}int findfather(int x){ if(x!=fa[x]) fa[x]=findfath..
阅读全文
摘要:1 //貌似可以用离散化做,本人菜鸟,搞不定,所以大家将就着看吧。 2 #include<stdio.h> 3 #include<string.h> 4 #include<algorithm> 5 using namespace std; 6 #define max(x,y) (x)>(y)?(x):(y) 7 #define maxn 10000000 8 int fa[maxn]; 9 int rank[maxn];10 int ans;11 int n;12 void init()13 {14 int i;15 for(i=1;i<maxn
阅读全文
浙公网安备 33010602011771号