如題
第一次遇到多維的揹包,其實只是多種因素同時限制最終揹包值。
比如這一題,二維,加一重迴圈並找準上一層的狀態就行了。**一看就能會。
#include
#include
#include
using namespace std;
#define max(a,b)(a>b?a:b)
int c[105]; //
int w[105];
int f[105][105];
int n,m,k,s; //經驗值 忍耐度 種類 殺怪數
int main()}}
int ans=-1;
for(j=0;j<=s;j++)
for(l=0;l<=m;l++)
if(f[j][l]>=n&&ansans=m-l;
printf("%d\n",ans);
}return 0;
}
HDU 2159 二維完全揹包
最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的經驗,並減掉相應的忍耐度。當忍耐度降到0...
HDU2159 二維完全揹包問題
hdu2159 二維完全揹包問題 輸入有 經驗,忍耐度,怪物種數,限制殺怪數 每一種怪物對應獲得的經驗值和消耗的耐久值 輸出 剩下的最大忍耐度 限制 忍耐度,殺怪個數 在這裡把忍耐度看成揹包的容量,殺怪個數限制作為第二維 dp i j 表示在揹包容量為i的時候,放了j件物品所產生的價值 接下來就是迴...
DP 二維揹包 HDU 2159
description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的經驗,並減掉相應...