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

2022-05-23 16:54:11 字數 913 閱讀 4558

【題目描述】

明天就是母親節了,電腦組的小朋友們在忙碌的課業之餘挖空心思想著該送什麼禮物來表達自己的心意呢?聽說在某個**上有賣雲朵的,小朋友們決定一同前往去看看這種神奇的商品,這個店裡有n朵雲,雲朵已經被老闆編號為1,2,3,……,n,並且每朵雲都有乙個價值,但是商店的老闆是個很奇怪的人,他會告訴你一些雲朵要搭配起來買才賣,也就是說買一朵雲則與這朵雲有搭配的雲都要買,電腦組的你覺得這禮物實在是太新奇了,但是你的錢是有限的,所以你肯定是想用現有的錢買到盡量多價值的雲。

【題目鏈結】

【**】

1 #include 2

using

namespace

std;

3struct infoh[10010],s[10010],b[10010];4

intn,m,w,tot;

5int fa[10010],dp[10010];6

int get(intx)7

11void merge(int x,int

y)12

15int

main()

1623

for(int i=1;i<=n;i++) s[get(i)].m+=h[i].m,s[get(i)].v+=h[i].v;

24for(int i=1;i<=n;i++) if(s[i].m) b[++tot].m=s[i].m,b[tot].v=s[i].v;

25for(int i=1;i<=tot;i++)

26for(int j=w;j>=b[i].m;j--)

27 dp[j]=max(dp[j],dp[j-b[i].m]+b[i].v);

28 printf("

%d\n

",dp[w]);

29return0;

30 }

P1455 搭配購買(並查集 dp)

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

洛谷P1455 搭配購買(並查集縮點 01揹包)

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

洛谷 P1455 搭配購買

給定n件物品 容量為sum的揹包,購買一件物品需要購買它所依賴 的物品,求最大價值 1 並查集 2 tarjan縮點 本文採取第二種方法 將乙個強連通塊縮成乙個點,費用和價值累加,最後揹包dp即可 邊集 原圖 edge i 乙個點是否在棧內 instack i 1或0 新圖 bcc cnt 新節點費...