題意:
給乙個初始的錢,年數,
然後給出每個物品的購買** 與 每年獲得的利益,
求在給出的年份後手上有多少錢。
思路:
揹包重量還是資金。
dp[0]=初始資金;
重物的重量是他的**,獲利是價值。
這裡有n個物品,還有m年的問題,主要的問題是前i年的最大收益,然後在金額的基礎上對物品處理
記錄每次dp[j]的值作為下一年的收益,然後再for一遍過來
這裡還可以將重量進行壓縮,縮小複雜度;
//#include
#include
#include
#include
#include
using
namespace
std;
typedef __int64 ll;
const
int inf=0x3f3f3f3f;
const
int n=1e5+10;
int w[15],v[15];
int dp[n];
int w;
int n;
int main()
memset(dp,0,sizeof(dp));
for(int i=1;i<=m;i++)
lv+=dp[w];
}printf("%d\n",lv);
}return
0;}
dp之完全揹包poj2063
題意 求投資k年獲得最大投資,每年都選最大利息的方案進行投資k年後就可以得到最多的人民幣。思路 將每一年的 體積 加上利息就好,當然,資料太大,可以除以100減少時間和空間複雜度.反思 很想說,這些我都想到了,但是還是wa了兩次,是因為資料溢位的原因.以前就遇到這樣的原因,木有想到這次我注意了,但還...
dp之完全揹包poj2063
題意 求投資k年獲得最大投資,每年都選最大利息的方案進行投資k年後就可以得到最多的人民幣。思路 將每一年的 體積 加上利息就好,當然,資料太大,可以除以100減少時間和空間複雜度.反思 很想說,這些我都想到了,但是還是wa了兩次,是因為資料溢位的原因.以前就遇到這樣的原因,木有想到這次我注意了,但還...
POJ 2063 Investment 完全揹包
完全揹包 這題很裸的完全揹包。不過居然還各種re和wa。首先是re 因為每次都會有利息,加上原來的本金之後的資金肯定是會大於原來的最大值。陣列開大個5倍就夠了。因為題意是利息不超過10 年數不超過40.這個隨便算下,或者開個足夠大就行。其次wa的原因 因為我在實現的時候,用了個變數extra去存不足...