并查集
但从那
这个作者很懒,什么都没留下…
展开
-
hdu1232
#include#include#include#define N 1010int tag[N];int pre[N];int find(int x){ int i=x; while(pre[i]!=i) { i=pre[i]; } int k=x,j; while(pre[k]!=i)//将所有的与x有关联的数都合并到i下面 { j=pre[k]; pre[k]=i; k=j; } return原创 2013-08-10 00:04:29 · 434 阅读 · 0 评论 -
hdu3367并查集
#include #include #include #include #include using namespace std; #define N 1000 int f[N],vis[N]; struct node { int a ,b,w; friend bool operator <(const node &A,const node &B) {re原创 2013-08-10 20:45:40 · 597 阅读 · 0 评论 -
hdu2818(帶权并查集 待过)?
#include #include #define N 300100 int pre[N],sum[N],under[N]; void init(int n) { for(int i=1;i<=n;i++) { sum[i]=1; pre[i]=i; under[i]=0; } } int find(int x ) {原创 2013-08-12 14:33:03 · 558 阅读 · 0 评论 -
hdu3047 Zjnu Stadium(帶权并查集 详细图解)?
分析如下:先将各个点对union起来得到如下图解: #include #include #define N 50005 int pre[N],dis[N]; void init1(int n) { for(int i=0;i<=n;i++) { pre[i]=i; dis[i]=0; } } void myunion(in原创 2013-08-12 12:00:57 · 1830 阅读 · 4 评论