hdu3449 有依賴的揹包問題

2022-09-05 01:27:07 字數 969 閱讀 7957

典型的有依賴的揹包,每個箱子是「主件」 每個箱子所對應的物品是他的「附件」,有依賴的揹包的過程就是把沒一組主件和附件的集合中附件跑一遍01揹包,然後把主件強加到跑完後的陣列裡,然後再在雖有的集合中選擇最優的dp[i]的值,這樣更新到最後就行了,這樣更新 跑附件之間的01揹包後強加主件是對應著題意的必須有盒子,而集合和集合之間的更新是對應著

可以再多可集合中選擇最優。

#include#include#define n 1100000

intdp[n] ,tmp[n];

intmaxx(

intx,

inty)

intmain

()for

(j=p;j<=m;j++)dp[j] =maxx(dp[j] ,tmp[j-p]);

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

}return0;

}

hdu3449 有依賴的揹包問題

典型的有依賴的揹包,每個箱子是 主件 每個箱子所對應的物品是他的 附件 有依賴的揹包的過程就是把沒一組主件和附件的集合中附件跑一遍01揹包,然後把主件強加到跑完後的陣列裡,然後再在雖有的集合中選擇最優的dp i 的值,這樣更新到最後就行了,這樣更新 跑附件之間的01揹包後強加主件是對應著題意的必須有...

HDU 3449 依賴揹包

這道題雖然水水的,但是還是成功地給我增加了10多個wa。最開始拿著題,一看,依賴揹包嘛 直接dfs樹形dp嗨起來,甚至連記憶體都沒有算一下,3mle 然後又仔細看了一下題,沒有必要用樹形揹包來做嘛,對每個揹包01,就可以得到每個揹包的泛化物品。結果又沒有注意 把它們泛化物品的和寫成了完全揹包 囧 w...

HDU 3449Consumer(依賴揹包問題)

題目大意 有很多個箱子和一些物品,想買箱子中的物品必須先買下箱子,求在規定的錢數里最多能買多大價值的東西 sample input 3 800 300 2 30 50 25 80 600 1 50 130 400 3 40 70 30 40 35 60sample output 210emmm,沒什...