揹包 DP 揹包

2021-09-12 02:35:56 字數 559 閱讀 8870

揹包 題目 是dp中較為常見的題目 

分為 0--1 揹包 ,完全揹包 和多重揹包 

這三類 是越來越深入的首先來介紹一下 0--1揹包 ; 

首先 0 --1 揹包的含義是       給你乙個容量位m的揹包 然後給你n個物品 ,每個物品具有一定價值和一定重量 會站一定的揹包空間 答案是在n個物品中那幾個 然後使得到的價值最大 

首先0  --1入門   首先是兩層for迴圈 第乙個for列舉是當第幾個物品 第二個是揹包容量   表達可以很快寫出來  

s[i-1][j]       j-wi<0;

s[i,j]

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

c[i]-=k;

}if(c[i]>0)

}else

c[i]-=k;

}if(c[i]>0)}}

}int tot=0;

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

if(dp[i]>=0)

tot++;

printf("%d\n",tot);

}return 0;

}

揹包DP(01揹包,多重揹包,完全揹包)

從前乙個轉態轉移過來,選還是不選 for int i 1 i n i else f i j f i 1 j 01揹包優化 滾動陣列 for int i 1 i n i for int j m j 1 j if weight i j f j max f j f j weight i value i 優...

dp揹包問題(01揹包,完全揹包,多重揹包)

include includeusing namespace std const int n 1005 int v n w n int f n n int main cout 空間一維優化 第二層迴圈逆序m.v i include includeusing namespace std const i...

揹包dp之01揹包

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