HDU 1114(完全揹包恰好裝滿求最小值)

2021-08-23 14:03:03 字數 685 閱讀 2388

完全揹包恰好裝滿求最大值:

一維:dp[1-v]=-0x3f(負無窮),dp[0]=0;

dp[i]==-0x3f,說明不可能存在滿足情況的結果,dp[i]>-0x3f,說明存在滿足情況的最優解。

二維:dp[i][j]=-0x3f(0完全揹包恰好裝滿求最大值:

一維:dp[1-v]=0x3f(正無窮),dp[0]=0;

dp[i]==0x3f,說明不可能存在滿足情況的結果,dp[i]<0x3f,說明存在滿足情況的最優解。

二維:dp[i][j]=0x3f(0**實現:

#include#include#includeusing namespace std;

const int maxn=1e4+7;

int dp[maxn];

int p[507],w[507];

int main()

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

}if(dp[v]<0x3f3f3f)

printf("the minimum amount of money in the piggy-bank is %d.\n",dp[v]);

else

printf("this is impossible.\n");

} return 0;

}

HDU 1114 完全揹包 判斷能否裝滿

題意 給出乙個存錢罐裡的錢幣重量 給出可能的n種錢幣重量以及價值 求存錢罐中錢幣的最小價值 若不可能另有輸出 在裸的完全揹包上加了一點東西 即判斷這個揹包能否被裝滿 初始化 dp 0 0 其餘的都使用for迴圈設定成inf 以達到求min的目的 最後如果dp v 還是那麼大就說明它根本沒有通過前面的...

完全揹包 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...