UVA 1160(簡單建模 並查集)

2021-08-22 12:17:24 字數 833 閱讀 7435

題意:

有n種化合物,每種化合物由兩種元素組成。當幾種的化合物數量等於他們所含不同元素的數量時,就會發生**。現在依次給出化合物的組成,當新的化合物與之前的化合物放在一起會發生**時,就不能允許這個化合物放進來。輸出拒絕的次數。

思路:把元素看成點,化合物看成邊,每次新的化合物進來當成連一條邊。如果圖中沒有環,則每個連通分量是一棵樹,其邊數等於點數減1,不可能存在**的情況;如果圖中有環,則這個環上點數等於邊數,就會**。使用並查集連邊,如果要連的兩個點在同一集合中,則答案加1。

code:

#include #include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;#define max_v 100005

intpa[max_v];

intre[max_v];

intn,ans;

void make_set(int

x)int find_set(int

x)void union_set(int x,int

y)

if(re[x]>re[y])

pa[y]=x;

else

}int

main()

printf(

"%d\n

",ans);

}return0;

}//判斷有沒有構成環,構成環的不放進去且計數加1

//輸出計數

簡單並查集

哈爾濱理工大學oj 1160 吸血鬼 description remilia是 東方紅魔館 中首次亮相的吸血鬼角色,是有著500歲年齡的吸血鬼領主。作為紅魔館的主人,有著高貴和威嚴的氣質,不過也經常任性和孩子氣。關於吸血鬼有很多傳說。吸血鬼是乙個血族,有著嚴格的等級。吸血鬼會嚴格聽從血之主人的命令。...

簡單並查集小結。

小夥伴們最近都在瘋狂的發部落格啊。我也來湊湊熱鬧。先發個簡單的並查集吧。所謂的並查集演算法是一種樹型的資料結構,用於處理一些不相交集合的合併及查詢問題。如果 給出各個元素之間的聯絡,要求將這些元素分成幾個集合,每個集合中的元素直接或間接有聯絡。在這類問題中主要涉及的是對集合的合併和查詢,因此將這種集...

並查集簡單題

題目傳送 poj 1611 the suspects ac include include include include include include include include include include include include include include define l...