HDU 寒冰王座 多重揹包

2021-10-05 01:24:16 字數 1009 閱讀 3008

不死族的巫妖王發工資拉,死亡騎士拿到一張n元的鈔票(記住,只有一張鈔票),為了防止自己在戰鬥中頻繁的死掉,他決定給自己買一些道具,於是他來到了地精商店前.

死亡騎士:「我要買道具!」

地精商人:「我們這裡有三種道具,血瓶150塊乙個,魔法藥200塊乙個,無敵藥水350塊乙個.」

死亡騎士:「好的,給我乙個血瓶.」

說完他掏出那張n元的大鈔遞給地精商人.

地精商人:「我忘了提醒你了,我們這裡沒有找客人錢的習慣的,多的錢我們都當小費收了的,嘿嘿.」

死亡騎士:"…"

死亡騎士想,與其把錢當小費送個他還不如自己多買一點道具,反正以後都要買的,早點買了放在家裡也好,但是要盡量少讓他賺小費.

現在死亡騎士希望你能幫他計算一下,最少他要給地精商人多少小費.

輸入資料的第一行是乙個整數t(1<=t<=100),代表測試資料的數量.然後是t行測試資料,每個測試資料只包含乙個正整數n(1<=n<=10000),n代表死亡騎士手中鈔票的面值. 注意:地精商店只有題中描述的三種道具.

對於每組測試資料,請你輸出死亡騎士最少要浪費多少錢給地精商人作為小費.

2

900250

0

50

完全揹包是在n種物品中選取若干件(同一種物品可多次選取)放在空間為v的揹包裡,每種物品的體積為c1,c2,…,cn,與之相對應的價值為w1,w2,…,wn.求解怎麼裝物品可使揹包裡物品總價值最大。

通過轉化把多重揹包轉化為01揹包。狀態表示式dp[j]=max(dp[j],dp[j-f[i]]+f[i]);

#includeusing namespace std;

int n,m,k,mixn;

int dp[11000];

int f[4]=;

int main()

} printf("%d\n",n-dp[n]);

}return 0;

}

HDU 1248 寒冰王座 (揹包)

problem description 不死族的巫妖王發工資拉,死亡騎士拿到一張n元的鈔票 記住,只有一張鈔票 為了防止自己在戰鬥中頻繁的死掉,他決定給自己買一些道具,於是他來到了地精商店前.死亡騎士 我要買道具 地精商人 我們這裡有三種道具,血瓶150塊乙個,魔法藥200塊乙個,無敵藥水350塊乙...

完全揹包 寒冰王座

時間限制 1 sec 記憶體限制 128 mb 提交 3 解決 3 提交 狀態 討論版 命題人 add cst 不死族的巫妖王發工資拉,死亡騎士拿到一張n元的鈔票 記住,只有一張鈔票 為了防止自己在戰鬥中頻繁的死掉,他決定給自己買一些道具,於是他來到了地精商店前.死亡騎士 我要買道具 地精商人 我們...

HDU1248 寒冰王座 完全揹包

problem description 不死族的巫妖王發工資拉,死亡騎士拿到一張n元的鈔票 記住,只有一張鈔票 為了防止自己在戰鬥中頻繁的死掉,他決定給自己買一些道具,於是他來到了地精商店前.死亡騎士 我要買道具 地精商人 我們這裡有三種道具,血瓶150塊乙個,魔法藥200塊乙個,無敵藥水350塊乙...