hdu 2159 FATE 二維費用的完全揹包

2022-08-09 07:48:08 字數 748 閱讀 2706

計算dp陣列的時候

裡面兩層for迴圈調換位置對結果沒有影響

「個數成本」一定要從1到max

「花費成本」就看是01揹包還是完全揹包來決定逆序還是順序

最終的目標是耐久度剩餘最大 即耐久度花費最小

把兩個成本和目標分清楚就沒問題了

【為了把他萌分清楚我想了好久orz】

#include #include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;const

int maxn = 130

;const

int inf = 100000

;int

a[maxn], b[maxn];

intdp[maxn][maxn];

intmain()

if(ans ==inf)

printf(

"-1\n");

else

printf(

"%d\n

", m -ans);

}return0;

}

HDU 2159 FATE 二維費用揹包

problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...

HDU2159FATE(二維費用揹包)

解題思路 第二題二維費用揹包了,有些許的理解,狀態設計 dp z j 表示殺z個怪花費不超過j的情況下得到的最大經驗值 狀態轉移方程 dp z j max dp z j dp z 1 j cost i value i 相當於多一維限定殺敵數的花費,而你要多殺乙個人一定是從你殺的z 1個人的狀態推導過...

HDU 2159 FATE 二維費用揹包

problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...