01揹包 合併費用 搭配購買

2022-05-04 01:57:09 字數 611 閱讀 5502

給定\(n\)朵雲,編號\(1,2\dots ,n\),每個雲朵有乙個**\(c_\),價值\(d_\),

一共有\(w\)的錢,一共\(m\)對關係\((u_,v_)\)表示\((u_,v_)\)需要一起購買,求最大價值

\(\begin1 \leq n \leq 10000 \\ 0 \leq m \leq 5000 \\ 1 \leq w \leq 10000 \\ 1 \leq c_ \leq 5000 \\ 1 \leq d_ \leq 100 \\ 1 \leq u_, v_ \leq n\end\)

將所有需要合併的價值和**都合併到乙個集合中,最後對所有不同集合做\(01\)揹包即可

#includeusing namespace std;

const int n=1e4+10;

int n,m,w;

int fa[n],c[n],d[n],dp[n];

int find(int x)

void merge(int a,int b)

}int main()

for(int i=1;i<=n;i++)

}printf("%d\n",dp[w]);

}

並查集 01揹包 搭配購買

joe覺得雲朵很美,決定去山上的商店買一些雲朵。商店裡有 n 朵雲,雲朵被編號為 1,2,n,並且每朵雲都有乙個價值。但是商店老闆跟他說,一些雲朵要搭配來買才好,所以買一朵雲則與這朵雲有搭配的雲都要買。但是joe的錢有限,所以他希望買的價值越多越好。輸入格式 第 1 行包含三個整數 n,m,w,表示...

b lg 搭配購買(並查集 01揹包)

有一些雲朵商品,你需要如果商品有搭配關係,則你需要購買具有搭配關係的所有雲朵 已知你的初始財富以及各物品的價錢與價值,求出最大價值 思路 這題一開始寫的 o n 2m 的暴力,得分為40pt includeusing namespace std const int n 1e4 5,w 1e3 5 i...

P1455 搭配購買 (並查集 01揹包)

題目描述 明天就是母親節了,電腦組的小朋友們在忙碌的課業之餘挖空心思想著該送什麼禮物來表達自己的心意呢?聽說在某個 上有賣雲朵的,小朋友們決定一同前往去看看這種神奇的商品,這個店裡有n朵雲,雲朵已經被老闆編號為1,2,3,n,並且每朵雲都有乙個價值,但是商店的老闆是個很奇怪的人,他會告訴你一些雲朵要...