題意:給乙個儲錢罐,已知空的儲錢罐和裝了硬幣的儲錢罐的質量。然後給了n種硬幣的質量和價值。
問儲錢罐裡最少有多少錢。
解法:完全揹包。注意要初始化為 inf,要正好裝滿,如果結果是inf,輸出this is impossible.
1 #include2 #include3 #include4 #include5 #include6 #include7using
namespace
std;
8const
int maxn=550;9
const
int inf=0x3f3f3f3f;10
intn,m,t;
11int dp[100100
],w[maxn],v[maxn];
12int
main()
1334}35
if(dp[w]==inf) printf("
this is impossible.\n");
36else printf("
the minimum amount of money in the piggy-bank is %d.\n
",dp[w]);37}
38 }
完全揹包 HDU 1114
今天看了看揹包九講的完全揹包。估計是因為只記住了方程,沒理解透的原因。照著寫,還是錯了 錯就錯在初始化的時候,我全部初始化為0了,然後用max 但是得不到答案。可是初始化出0位置以外,其他都為無窮大,取min,過了 額。去問問高手吧我。再研究了下,猛然回頭,發現,是求揹包裝滿的 最小價值 inclu...
hdu 1114 完全揹包)
思路 在揹包九講中有提到,如果是要恰好裝滿,那麼這兒dp的初始化時應將dp 0 0,由於這兒是求最小值,故應將dp 1 dp n 置為正無窮 若是求最大值,則置為負無窮 1 include2 const int n 550 3 const int inf 1000000000 4 using nam...
hdu1114 完全揹包
題意 給你乙個罐子的自身重量和它最大的承受重量,再給你n種面值的硬幣,接下來n行為每個硬幣的價值和重量,讓你求能恰好裝滿罐子的最小價值 如果沒辦法恰好裝滿則輸出this is impossible.明顯這是乙個多重揹包 我們知道完全揹包的模板 for i 1.n for v 0.v f v max ...