hdu 1712 分組揹包問題

2021-06-29 00:26:14 字數 505 閱讀 4065

1y很開心。。分組揹包就是在01揹包的基礎上分了多個組,每組只能取乙個。這樣在01揹包上再加一重迴圈就可以了。。

二維的狀態轉移方程:f[k,v] = max

揹包九講的偽**如下:

for k = 1 to k

for v = v to 0

for item i in group k

f[v] = max

就是先進行每組的遍歷,然後在每組中只挑乙個。。

附上**:

#include#include#includeint dp[110];

int w[110][110];

int c[110][110];

using namespace std;

int main ()

}for(int k = 1;k <= n;k++)}}

cout << dp[m] << endl;

}return 0;

}

HDU 1712 分組揹包問題

題目連線 題意 有m天可以分給n個課程,課程得分和課程上的天數有關,問在m天以內最多一共可以得到多少分 乙個分組揹包的入門題,把乙個課程上不同的天數得到的分數看作是一組的,每組最多只能選乙個物品 每乙個物品的代價是上的天數,價值是這門課在這個天數上得到的分數 那麼這樣就是乙個分組揹包問題 二維dp陣...

HDU 1712 分組揹包問題

物品分多組,每組中的每件都是衝突的,那麼,揹包問題變成,在某組中取乙個,使得價值達到最大,或者這組乙個都不取能使價值達到最大,在01揹包基礎上加乙個迴圈就可以,在減去體積的時候依次減去每組每乙個的體積,這裡的體積正好對應縱座標,所以不必再抽象成c i 了,價值w i 問題有n件物品和乙個容量為v的揹...

hdu 1712 分組揹包

分組的揹包問題 問題 有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 這些物品被劃分為若干組,每組中的物品互相衝突,最多選一件。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。演算法 這個問題變成了每組物品有若干種策略 是選擇本組的某一件,還是一件...