lougu P1048 採藥 01揹包

2022-08-10 16:51:14 字數 575 閱讀 3374

有許多種物品,每種物品只有乙個,求最大價值

lougu p1048 採藥

luogu p1049 裝箱問題

luogu p1060 開心的金明

luogu p1164 小a點菜

dp[ i ] [ j ] 表示放前 i 個物品時,重量 j 能獲得的最大價值

對於第 i 個物品,只有放與不放兩種可能

如果放,那麼重量 j 能獲得的最大價值相當於前 i -1 個物品重量 j -w [ i ] 能獲得的最大價值+ i 物品的價值

如果不放,那麼重量 j 能獲得的最大價值就是前 i -1 個物品重量 j 能獲得的最大價值

兩者取最大

動態轉移方程為:dp[ i ] [ j ] = max(dp[ i -1 ] [ j -w [ i ] ] ) + v [ i ],dp[ i -1 ] [ j ])

由於 dp[ i ] [ j ] 的值只與它左上方與正上方的值有關,可以使用滾動陣列,動態轉移方程變為dp[ j ]=max( dp[ j ],dp[ j - w[ i ] ] + v[ i ] )

for(int i=0;i)

}

lougu P1048 採藥 01揹包

有許多種物品,每種物品只有乙個,求最大價值 lougu p1048 採藥 luogu p1049 裝箱問題 luogu p1060 開心的金明 luogu p1164 小a點菜 dp i j 表示放前 i 個物品時,重量 j 能獲得的最大價值 對於第 i 個物品,只有放與不放兩種可能 如果放,那麼重...

洛谷1048 採藥 01揹包

題目描述 辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡...

P1048 採藥 01揹包模板)

題意 給我們乙個可以採藥的時間t,接下來用m 種藥,第i種藥採摘需要用w i 的時間,有v i 的價值。我們需要在時間t內採摘到最大的價值。我通過這題學習了01揹包。無優化 pragma gcc optimize 3,ofast inline include include include incl...