51nod1515 明辨是非

2022-03-30 16:52:30 字數 1037 閱讀 8312

並查集合並好神的一道題。學到了map替代sort+unique的姿勢。借鑑monster__yi這位神犇的題解!%%%%%

#include#include#include#include#include#includeusing namespace std;

#define rep(i,s,t) for(int i=s;i<=t;i++)

#define dwn(i,s,t) for(int i=s;i>=t;i--)

#define clr(x,c) memset(x,c,sizeof(x))

int read()

while(isdigit(c)) x=x*10+c-'0',c=getchar();

return x*f;

} const int nmax=2e5+5;

int fa[nmax];

sets[nmax];

mapm;

int find(int x)

int main()else

} }return 0;

}

1515 明辨是非

基準時間限制:1 秒 空間限制:131072 kb 分值: 160 難度:6級演算法題

收藏關注給n組操作,每組操作形式為x y p。

當p為1時,如果第x變數和第y個變數可以相等,則輸出yes,並限制他們相等;否則輸出no,並忽略此次操作。

當p為0時,如果第x變數和第y個變數可以不相等,則輸出yes,並限制他們不相等 ;否則輸出no,並忽略此次操作。

input

輸入乙個數n表示操作的次數(n<=1*10^5)

接下來n行每行三個數x,y,p(x,y<=1*10^8,p=0 or 1)

output

對於n行操作,分別輸出n行yes或者no
input示例

3

1 2 1

1 3 1

2 3 0

output示例

yes

yesno

51Nod 1515 明辨是非

給n組操作,每組操作形式為x y p。當p為1時,如果第x變數和第y個變數可以相等,則輸出yes,並限制他們相等 否則輸出no,並忽略此次操作。當p為0時,如果第x變數和第y個變數可以不相等,則輸出yes,並限制他們不相等 否則輸出no,並忽略此次操作。這是一道很經典的題目。如果只有強制相同集合的話...

51nod1515明辨是非

1515 明辨是非 基準時間限制 1 秒 空間限制 131072 kb 分值 160 難度 6級 給n組操作,每組操作形式為x y p。當p為1時,如果第x變數和第y個變數可以相等,則輸出yes,並限制他們相等 否則輸出no,並忽略此次操作。當p為0時,如果第x變數和第y個變數可以不相等,則輸出ye...

51nod 1515 明辨是非

給n組操作,每組操作形式為x y p。當p為1時,如果第x變數和第y個變數可以相等,則輸出yes,並限制他們相等 否則輸出no,並忽略此次操作。當p為0時,如果第x變數和第y個變數可以不相等,則輸出yes,並限制他們不相等 否則輸出no,並忽略此次操作。輸入乙個數n表示操作的次數 n 1 10 5 ...