time limit:1000ms
memory limit:65536k
暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的**(pg和rune)、能力值、最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出現有支付能力下的最大可以獲得的能力值。
第一行,三個整數n,p,r,分別代表市場中物品種類,pg的支付能力和rune的支付能力。
第2…n+1行,每行四個整數,前兩個整數分別為購買此物品需要花費的pg,rune,第三個整數若為0,則說明此物品可以購買無數件,若為其他數字,則為此物品可購買的最多件數(s),第四個整數為該裝備的能力值。
僅一行,乙個整數,最大可獲得的能力值。
3 10 10
5 3 0 110
4 3 4 120
2 3 1 130
對於30%的資料, 0對於70%的資料, 0對於100%的資料, 0選第二種裝備2件和第三種裝備1件。
可以根據總共的pg、rune和購買此物品需要花費的pg,rune算出此物品可購買的最多件數。
把完全揹包變成多重揹包,多重揹包可以拆成許多個物品,變成01揹包。
設f[i][j][k]表示前i個物品,花費j個pg,k個rune的最大能力值。
f[i][j][k]=max(f[i-1][j][k],f[i-1][j-p][k-r]+l])
l為該裝備的能力值。
可以省略第1維。
f[i][j]=max(f[i][j],f[i-p][j-r]+l);
當前p<=i<=p,當前的r<=j<=r;
#include
#include
#include
using
namespace std;
long
long n,allp,allr,f[
1010][
1010];
intmain()
printf
("%lld"
,f[allp]
[allr]);
return0;
}
ssl2293 暗黑遊戲
暗黑遊戲 time limit 10000ms memory limit 65536k total submit 87 accepted 50 case time limit 1000ms description 暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場...
SSL2293 暗黑遊戲 dp
暗黑遊戲 description 暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的 pg和rune 能力值 最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出...
SSL 2293 暗黑遊戲(動規練習題)
暗黑遊戲中,裝備直接決定玩家人物的能力。可以使用pg和rune購買需要的物品。暗黑市場中的裝備,每件有不同的 pg和rune 能力值 最大可購買件數。kid作為暗黑戰網的乙個玩家,當然希望使用盡可能少的pg和rune購買更優的裝備,以獲得最高的能力值。請你幫忙計算出現有支付能力下的最大可以獲得的能力...