杭電2818 帶權並差集

2021-09-24 07:18:57 字數 863 閱讀 3366

杭電2818傳送門

寫在題前

解題思路

除了正常的父親陣列,我們還需要兩個陣列ans和num:

用meg函式建立聯絡,同時注意更新兩個陣列。

寫在題後

注意有坑,注意有坑,注意有坑!!!重要的話說三遍。

ac**

# include

# include

# include

# include

# include

# include

# include

# include

using namespace std;

typedef

long

long ll;

const

int maxn =

100010

;//注意開闢陣列的大小

int id[maxn]

;int num[maxn]

;//記錄節點所在堆的總數量

int ans[maxn]

;//記錄節點下面節點的數量:即答案

intfin

(int x)

return id[x];}

void

meg(

int x,

int y)

}int

main()

memset

(ans,0,

sizeof

(ans));

string anw;

while

(n--

)else

if(anw[0]

=='c')}

}return0;

}

杭電1272 並差集

原題傳送門,並差集模板詳解鏈結,大佬並差集詳解鏈結。解題思路 1 判斷是否有環 2 判斷所有的房子是否連在一起。第一點可以通過same函式判斷,在輸入的時候就可以判斷 第二點可以先通過vis陣列標記,然後遍歷vis陣列,當vis i 1並且id i i的時候,說明i是最上面的父親。再符合條件的情況下...

杭電1198 並差集

原題傳送門,並差集模板函式簡單介紹,大佬的並差集詳解。寫在題前 因為最近學的並差集,因此專門搜的杭電並差集,也就是說,在看這個題之前我已經知道他是用並差集來做的。之前我碰到的題沒有涉及到二維這種情況,其實了解了思路還是很好做的,就是過程有點繁瑣,細節要注意。解題步驟 1 遍歷每個田地,對於每個田地,...

杭電1598 並差集

寫在題前 解題思路 將輸入的資料,按照速度的大小 從小到大 排序 依次將資料用meg函式建立關係,判斷查詢的資料是否符合 第一次符合條件的速度減去剛開始的速度就是答案。具體見 寫在題後 ac include include include include include include includ...