codevs1073 家族 並查集

2021-07-28 21:02:14 字數 901 閱讀 9249

時間限制: 1 s

空間限制: 128000 kb

題目等級 : 大師 master

題解

檢視執行結果

若某個家族人員過於龐大,要判斷兩個是否是親戚,確實還很不容易,現在給出某個親戚關係圖,求任意給出的兩個人是否具有親戚關係。 規定:x和y是親戚,y和z是親戚,那麼x和z也是親戚。如果x,y是親戚,那麼x的親戚都是y的親戚,y的親戚也都是x的親戚。

輸入描述 input description

第一行:三個整數n,m,p,(n<=5000,m<=5000,p<=5000),分別表示有n個人,m個親戚關係,詢問p對親戚關係。 以下m行:每行兩個數mi,mj,1<=mi,mj<=n,表示ai和bi具有親戚關係。 接下來p行:每行兩個數pi,pj,詢問pi和pj是否具有親戚關係。

輸出描述 output description

p行,每行乙個』yes』或』no』。表示第i個詢問的答案為「具有」或「不具有」親戚關係。

樣例輸入 sample input

6 5 3

1 21 5

3 45 2

1 31 4

2 35 6

樣例輸出 sample output

yesyes

no

#include#includeusing namespace std;

const int mx=5000+5;

int n,m,p,f[mx],a,b;

int find(int x)

void union(int x,int y)

int main()

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

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

return 0;

}

並查集 Rqnoj331 家族

題目描述 若某個家族人員過於龐大,要判斷兩個是否是親戚,確實還很不容易,現在給出某個親戚關係圖,求任意給出的兩個人是否具有親戚關係。規定 x和y是親戚,y和z是親戚,那麼x和z也是親戚。如果x,y是親戚,那麼x的親戚都是y的親戚,y的親戚也都是x的親戚。輸入格式 第一行 三個整數n,m,p,n 50...

vijos P1034 家族(並查集)

p1034家族 accepted 標籤 顯示標籤 若某個家族人員過於龐大,要判斷兩個是否是親戚,確實還很不容易,現在給出某個親戚關係圖,求任意給出的兩個人是否具有親戚關係。規定 x和y是親戚,y和z是親戚,那麼x和z也是親戚。如果x,y是親戚,那麼x的親戚都是y的親戚,y的親戚也都是x的親戚。第一行...

JZOJ3301 家族 並查集

乙個無向圖的每條邊都有乙個邊權,選擇乙個區間 l,r l,r l,r 然後把這個圖中邊權不在 l,r l,r l,r 的邊全部刪掉。會形成多個連通塊。大小為i ii的連通塊的權值為k ik i ki 求乙個r l r lr l盡量小的區間使得剩餘連通塊的權值和 s geq s s。暴力想法 列舉左端...