九度OJ 1123 採藥

2021-06-26 04:52:45 字數 668 閱讀 2513

簡單的0,1揹包問題,好吧我還是不會。

value[i][j]表示時間總長為j時,挖前i個草藥得到的最大值。遞推關係就是:

value[i][j]=max(value[i-1][j-caoyao[i].t]+caoyao[i].v,value[i-1][j])
分為選擇猜i草藥,和不採兩種情況,取最大值即可。

以下。

for(i=1;i<=n;i++)
這裡重點提一下將二維陣列換算成一維的情況。

每次value[i]~的值僅和value[i-1]~的值有關,我們可以用a[i]陣列代替value陣列,

a[j]=max(a[j-caoyao[i].t]+caoyao[i].v,a[j]),

且要保證替換a[j](即value[i][j])時,a[j-caoyao[i].t]和a[j]不變,(還保持著value[i-1][j-caoyao[i].t]和value[i-1][j]不變)。

因此合理需要倒敘賦值、

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

}

j

value[i][j]=value[i-1][j];

附上最後乙個重要的點:

01揹包是每一件物品至多只能選擇一件,即在揹包中該物品數量只有0,1兩種。

九度oj 1123 採藥

題目1123 採藥 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 2399 解決 1168 題目描述 辰辰是個很有潛能 天資聰穎的孩子,他的夢想是稱為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到個到處都是草藥的山洞裡對他說...

九度OJ 題目1123 採藥

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

九度oj題目1123 採藥

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