HDU 5606 基礎並查集

2021-07-09 14:42:04 字數 506 閱讀 1226

題意:n個點,n-1條邊及其邊的權值(0、1);求每個頂點與它距離最近的點的個數,最後對所有的值進行異或運算。

分析:由題意可知, 求最短距離即求邊權為0,。

考慮用並並查集將邊權為0 的頂點合併,同時記錄每個集合元素的個數。

#include

#include

using

namespace

std;

#define n 100005

int father[n],rank[n],num[n];

void init()

}int find(int x)

void union(int x,int y)

int main()

int s=0;

for(int i=1;i<=n;i++)

s^=num[find(i)];

printf("%d\n",s);

}return

0;}

HDU3938 並查集 並查集

先按邊權值排個序,每次加入一條邊,用並查集,關鍵看懂題。include include include include using namespace std const int maxn 10010 int n,m,q struct edge edges maxn 5 inline int cmp...

hdu1272(並查集基礎)

判斷連通圖中是否有迴路,或者未連線的路。雖說是水題並查集,可我怎麼改都是錯,最後發現,題目資料真是坑,0 0,有毛線意思,也不應該是yes啊。給跪了。include include int v 100010 int f 100010 標誌陣列 int find int x int make int ...

hdu 1272 基礎並查集

上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從房間b走到房間a,為了提高難度,小希希望...