POJ 2063 Investment 完全揹包

2022-05-15 02:19:25 字數 512 閱讀 1904

題意:給你一些錢去投資,現在有n種**,每種**都有乙個價值和年收益,問你如何投資在d年後的最大收益

並且**的價值都是1000的倍數,預處理:對每個價值除以1000,減少記憶體。

完全揹包,

每投資一年,你的錢會變多,即揹包總容量會變大。

對每一年的資金進行完全揹包,然後更新揹包總容量,d次迴圈後得出答案

dp上界:每次投資最多獲利本金的10%,所以先寫個程式計算出dp上界 1000000.0*pow(1.1,40)/1000=45259

view code

#include#include

#include

using

namespace

std;

int w[11],p[11

];int dp[45555

];int

main()

printf(

"%d\n

",m);

}return0;

}

POJ 2063 Investment 完全揹包

完全揹包 這題很裸的完全揹包。不過居然還各種re和wa。首先是re 因為每次都會有利息,加上原來的本金之後的資金肯定是會大於原來的最大值。陣列開大個5倍就夠了。因為題意是利息不超過10 年數不超過40.這個隨便算下,或者開個足夠大就行。其次wa的原因 因為我在實現的時候,用了個變數extra去存不足...

POJ 2063 Investment(完全揹包)

poj 2063 investment 題意 有m元本金,想要在銀行存year年,有n種可供選擇的存款方式,每種存款方式都有相應的本金val i 和年獲利interst i 每年的獲利又可以作為下一年的本金繼續儲存。資料範圍 m 1e6,year 40,n 10,val i 是1000的倍數,年獲利...

POJ2063 完全揹包

題意 給乙個初始的錢,年數,然後給出每個物品的購買 與 每年獲得的利益,求在給出的年份後手上有多少錢。思路 揹包重量還是資金。dp 0 初始資金 重物的重量是他的 獲利是價值。這裡有n個物品,還有m年的問題,主要的問題是前i年的最大收益,然後在金額的基礎上對物品處理 記錄每次dp j 的值作為下一年...