如題,現在有乙個並查集,你需要完成合併和查詢操作。
第一行包含兩個整數n、m,表示共有n個元素和m個操作。
接下來m行,每行包含三個整數zi、xi、yi
當zi=1時,將xi與yi所在的集合合併
當zi=2時,輸出xi與yi是否在同一集合內,是的話輸出y;否則話輸出n
如上,對於每乙個zi=2的操作,都有一行輸出,每行包含乙個大寫字母,為y或者n
輸入 #1複製
4 72 1 2
1 1 2
2 1 2
1 3 4
2 1 4
1 2 3
2 1 4
輸出 #1複製
nyny
時空限制:1000ms,128m
資料規模:
對於30%的資料,n<=10,m<=20;
對於70%的資料,n<=100,m<=1000;
對於100%的資料,n<=10000,m<=200000。
模板題,我還要講什麼呢······
#include#include#include
#pragma gcc optimize(2)
#pragma gcc optimize(3)
using
namespace
std;
intn,m;
int father[10005
];inline
intread()
while(ch>='
0'&&ch<='
9') s=s*10+ch-'
0',ch=getchar();
return s*w;}/*
int find(int x)
return x; }*/
int find(int
p)
return father[p]=find(father[p]);
}void c(int a,int
b)*/
father[fa]=fb;
}int
main()
while(m--)
else
else}}
return0;
}
並查集模板
來自lifeng wang http hi.baidu.com fandywang jlu 前輩06年寫的東西,追隨前人足跡繼續努力。並查集的一些題目和相關解題報告 poj 1611 the suspects 最基礎的並查集 poj 2524 ubiquitous religions 最基本的並查集...
並查集模板
普通並查集 define max size 100005 int pa max size 儲存有向圖的邊 void init 初始化 該函式可以根據具體情況儲存和初始化需要的內容 int findset int a 不帶路勁壓縮 return a void union nodes int a,int...
並查集模板
codevs 2597 團夥 題目描述 description 1920年的芝加哥,出現了一群強盜。如果兩個強盜遇上了,那麼他們要麼是朋友,要麼是敵人。而且有一點是肯定的,就是 我朋友的朋友是我的朋友 我敵人的敵人也是我的朋友。兩個強盜是同一團夥的條件是當且僅當他們是朋友。現在給你一些關於強盜們的資...