【分析】
就是餘額小於5的話買不了任何東西,就算千有多
那麼餘額大於5的話先預留出5元留下來買最貴的東西
然後再dp[m-5]
算出剩下的錢能夠買得的最貴的東西
#include#include#include#include#include#includeusing namespace std;
#define maxn 1010
int p[maxn];
int dp[maxn];
bool cmp(int a,int b)
int main()
}int max=0;
for(int i=1;i<=m-5;i++)
printf("%d\n",m-p[0]-max);}}
return 0;
}
hdu 2546 0 1揹包問題
悲催了.這道01揹包的題目我wa 了好多遍,感受還是頗多的.說是01揹包,但是還是有一定的研製條件的。首先當飯卡當中的錢不足5塊的時候是不能消費的,所以就應該是原來的值。這裡就wa 了很多遍啊s。然後變通一下,要使得飯卡當中所剩餘額最小,那麼也就是說最大 的那道菜要在最後買,這樣才能得到最優解,那麼...
HDU 2546 0 1揹包問題
揹包問題是乙個經典的動態規劃模型。它既簡單形象容易理解,又在某種程度上能夠揭示動態規劃的本質,故不少教材都把它作為動態規劃部分的第一道例題。01揹包問題,可以這麼理解。題目有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使價值總和最大。基本思路 這是最...
hdu2546 01揹包 重學揹包
題意 給出菜的價錢和自己的餘額。使自己餘額最少,注意餘額大於5的情況可以買任意的菜。思路 小於5的餘額不能買菜,直接輸出,大於五的餘額,留下5元買最貴的菜,剩下的餘額進行01揹包,將剩下的餘額減去01揹包消耗金額最大。就得出答案 include includeusing namespace std ...