動態規劃之01揹包(1)

2022-08-22 23:36:11 字數 1046 閱讀 4198

洛谷p1048 採藥

辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說:「孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡,你可以採到一些草藥。如果你是乙個聰明的孩子,你應該可以讓採到的草藥的總價值最大。」

如果你是辰辰,你能完成這個任務嗎?

輸入格式:

輸入檔案medic.in的第一行有兩個整數t(1 <= t <= 1000)和m(1 <= m <= 100),用乙個空格隔開,t代表總共能夠用來採藥的時間,m代表山洞裡的草藥的數目。接下來的m行每行包括兩個在1到100之間(包括1和100)的整數,分別表示採摘某株草藥的時間和這株草藥的價值。

輸出格式:

輸出檔案medic.out包括一行,這一行只包含乙個整數,表示在規定的時間內,可以採到的草藥的最大總價值。

輸入樣例#1: 複製

70 3

71 100

69 1

1 2

輸出樣例#1: 複製

3

對於30%的資料,m <= 10;

對於全部的資料,m <= 100。

noip2005普及組第三題

#include

#include

#include

#include

using namespace std;

int tim[105];

int v[105];

int dp[105][1005]=;

int main()

//輸入物品的收集所用時間(即所佔揹包的空間/物品重量),輸入各個物品的價值

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

else //如果剩餘時間不夠,那麼最大價值就為直到上一層的最大價值}}

cout

}

動態規劃之01揹包

動態規劃的基本思想 將乙個問題分解為子問題遞迴求解,且將中間結果儲存以避免重複計算。通常用來求最優解,且最優解的區域性也是最優的。求解過程產生多個決策序列,下一步總是依賴上一步的結果,自底向上的求解。動態規劃演算法可分解成從先到後的4個步驟 1.描述乙個最優解的結構,尋找子問題,對問題進行劃分。2....

動態規劃之01揹包

01揹包問題,是用來介紹動態規劃演算法最經典的例子,網上關於01揹包問題的講解也很多,我寫這篇文章力爭做到用最簡單的方式,最少的公式把01揹包問題講解透徹。f i,j 表示在前i件物品中選擇若干件放在承重為 j 的揹包中,可以取得的最大價值。pi表示第i件物品的價值。決策 為了揹包中物品總價值最大化...

動態規劃之01揹包

題目描述 版權說明 本題為改編題。問題描述 發鳩之山,其上多柘木。有鳥焉,其狀如烏,文首,白喙,赤足,名曰精衛,其名自詨。是炎帝之少女,名曰女娃。女娃遊於東海,溺而不返,故為精衛。常銜西山之木石,以堙於東海。山海經 精衛終於快把東海填平了!只剩下了最後的一小片區域了。同時,西山上的木石也已經不多了。...