定義元素t的逆為t,t一定不在包含t的集合裡
因為對於兩個需要分配在不同集合的元素a、b,我們並不知道具體該怎麼分,所以就令元素a和b在一起,元素b和a在一起。
避免了直接分配a,b到哪乙個集合的問題!!!
自己模擬最快明白
例題:關押罪犯2023年noip全國聯賽提高組
#include usingnamespace
std;
const
int max = 100000 + 10
;int
i,j,n,m,x,y;
intf[max];
struct
angry
ang[max];
bool
com(angry a,angry b)
int getf(int
t)int
main()
f[x] = getf( ang[i].p2 + n);//
間接分配集合
f[y] = getf( ang[i].p1 +n);
}printf("0
");//
注意特殊情況
return0;
}
並查集 關押罪犯
題目描述 s城現有兩座監獄,一共關押著n名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c的罪犯被關押在同一監獄...
NOIP 關押罪犯(並查集)
時間限制 1 sec 記憶體限制 128 mb 提交 94 解決 32 提交 狀態 討論版 命題人 admin s城現有兩座監獄,一共關押著n名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩...
關押罪犯 並查集 二分
s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監獄,他...