洛谷P1964 mc生存 賣東西 題解 多重揹包

2022-05-19 21:48:16 字數 632 閱讀 8786

對於第 \(i\) 件物品:

然後對這些物品進行多重揹包即可。

然後這裡需要注意的一點是樣例中的第 \(1\) 件 和 第 \(3\) 件物品屬於同一件物品,所以可以放到同乙個格仔裡。

然後我希望題目的資料能夠保證「同一件物品的價值 \(b_i\) 都得一樣」,不然解決起來就很麻煩。(ac則保證此條件滿足)

實現**如下:

#include using namespace std;

int v, dp[21];

void zeroonepack(int val,int cost)

void completepack(int val,int cost)

void multipack(int val,int cost,int num)

v = 21 - m;

while (n --)

else nd = node(a, b, c);

mp[s] = nd;

}for (map::iterator it = mp.begin(); it != mp.end(); it ++)

}cout << dp[v] << endl;

return 0;

}

洛谷 P1964 mc生存 賣東西

伺服器好好玩 lcy0x1去伺服器的系統商店賣東西。乙個人的揹包有21格。一開始他的揹包裡有m件不同的物品 不能賣 他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,名字sti 0 相同的物品可以放同一格 只要沒放滿 問他跑一次最多能賣多少錢。輸入格式 第一行m,n 0 m 21,0 n...

洛谷 P1964 mc生存 賣東西

伺服器好好玩 lcy0x1去伺服器的系統商店賣東西。乙個人的揹包有21格。一開始他的揹包裡有m件不同的物品 不能賣 他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,名字sti 0相同的物品可以放同一格 只要沒放滿 問他跑一次最多能賣多少錢。第一行m,n 0 m 21,0 n 100 下...

洛谷題解 P1964 mc生存 賣東西

lcy0x1去伺服器的系統商店賣東西。乙個人的揹包有21格。一開始他的揹包裡有m件不同的物品 不能賣 他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,名字sti 0相同的物品可以放同一格 只要沒放滿 問他跑一次最多能賣多少錢。第一行m,n 0 m 21,0 n 100 下面n行 ai,...