經商 並查集 簡單dp

2021-09-29 02:35:28 字數 865 閱讀 8420

傳送門

先用並查集將其集合化,然後尋找與1乙個集合的所有人。

因為每個人只可以使用一次,所以在dp的迴圈中,把人數的迴圈放在外面。

#include

using

namespace std;

const

int mx=

1e4+9;

int t,n,m,c,fa[mx]

,u,v,k,t[mx]

,ans;

struct nodepeo[mx]

,use[mx]

;int

fin(

int u)

void

link

(int u,

int v)

}int

main()

k=0,ans=0;

for(

int i=

2; i<=n ; i++)if

(fin

(i)==1)

use[

++k]

=peo[i]

;for

(int i=

1; i<=k ; i++

)// 把人數的迴圈放在外面

for(

int j=c ; j>=use[i]

.hp ; j--

) t[j]

=max

(t[j]

,t[j-use[i]

.hp]

+use[i]

.val)

;printf

("%d\n"

,t[c]);

}return0;

}

簡單並查集

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

並查集 並查集

本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...

UPC H Team 並查集和DP

輸入 n,m 給 3 n個人的能力值,和m 對 關係,有關係的人必須組成一隊,一隊只能3人 2 1 1 2 3 4 5 6 3 4整理後的結果是 單人的 1 2 5 6 兩人一組的是 3,4 要想組成一隊,就是 1,2,5 3,4,6 這是一種組法 組成隊伍後的能力值是最小的那個人的能力值,所有隊伍...