UVA 562 DP入門之01揹包

2021-07-09 16:20:33 字數 595 閱讀 3601

題意:有一堆硬幣,如何平分,可以讓兩堆硬幣的價值之差最小;

剛開始想貪心的,姿勢不對,直接wa;

將硬幣總和sum求出來,將sum/2當做容器就好,搜尋sum/2  ---- >  0 符合條件的;

列舉出所有的可能性之和。然後最後就是  差值 q = sum - 2 * 最大值;

**如下:

#include #include #include #include int a[50000],dp[50000];

int m , sum , t ;

using namespace std ;

int main()

dp[0]=1;//*標記一下

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

}} int i ;

for(i = sum/2;i>=0;i--) //*直接搜最大值出來

printf("%d\n",sum-2*i);

}}

01揹包 DP入門

n個重量和價值分別為w,v的物品。找出總重量不超過w 的物品,求所有挑選方案中價值總和的最大值。n 4 w,v w 5 輸出 7 選0號,1號,3號 理解 n個物品 揹包容量w int w max n v max n weight,value 暴搜 o 2 n int rec int i,int j...

揹包dp之01揹包

現在我們有n個配件,他們有不同的價值.但是我們揹包的容量是有限的,因為我們只有乙個一級包,所以我們最多可以裝v重量的東西.但是為了能更好的吃到雞 不存在的 我們要攜帶更有價值的配件,請問我們最多能拿多少價值的配件來當快遞員呢?輸入的第一行是t,表示有一共要打t場比賽.每組資料由三行組成.第一行包含兩...

DP入門, 0 1揹包問題

hloj 1006 0 1揹包問題 hdu 2602 bone collector類似,但要注意輸入順序,問題規模,最重要的是重量為0的骨頭居然也有價值的!includeusing namespace std define n 401 define m 1501 int f n m 下標從1開始用 ...