POJ1384 動態規劃 完全揹包

2021-06-28 05:48:42 字數 910 閱讀 5626

嗯哼,繼續動態規劃,其實有點想滾去做開發。

題目概述:

有乙個存錢的人,往小豬罐子裡存錢。給定罐子淨重,和存錢後的質量。繼而給定每一種扔進去硬幣的價值和重量,要求計算最小的可能的滿足這個總質量的錢的價值總和。

很明顯的完全揹包,因為投進去的錢可以是無限的。

演算法思想:

具體描述一下動態規劃陣列。

關於陣列的初始化,因為這道題要求裝滿揹包 && 求裝滿時候最小值所以初始化的時候一定要把所有的dp陣列設為inf的,然後在dp[0]的時候設定為0。

dp的遞推就是裸完全揹包了。

**部分:

#include #include using namespace std;

int dp[10010];

int a, b, n; const int inf = 100000000;

int cost[505], value[505]; // 物品的重量,價值陣列。

int main()

for (int i = 0; i <= 10010; i++)

dp[0] = 0;

for (int i = 1; i <= n; i++)

} if (dp[v] == inf) cout << "this is impossible." << endl;

else cout << "the minimum amount of money in the piggy-bank is " << dp[v] << "." << endl; }

return 0;

}

POJ 1384 完全揹包

題意 給定乙個重量,和各種錢幣的重量,求可以滿足給定重量的錢幣組合中的最小組合。如果存在組合就求出最小值。轉移方程 1 f j 和 f j w i 都可達 則 f j min 2 f j 不可達 但 f j w i 可達 則 f j f j w i p i 3 其餘情況 則不作處理 程式 inclu...

poj 1384完全揹包

題意 給出豬罐子的空質量和滿質量,和n個硬幣的價值和質量,求豬罐子剛好塞滿的的最小價值。思路 選擇硬幣,完全揹包問題,塞滿 初始化為無窮,求最小價值,min。include include includeusing namespace std define inf 10000000 int n,su...

POJ 1384 完全揹包

題意 已知儲蓄罐滿時的質量f以及空時質量e,有n種硬幣,每種硬幣的價值為p,質量為w,求該儲蓄罐中的最少有多少錢?思路 完全揹包思想,問題是在乙個重量下的最小價值 那麼只要變一下符號就好了?include include include include include using namespace...